JAVA必会算法--选择排序

思路:找到当前位置开始到数组结束的最小数的索引然后与当前位置的数做交换。由于前面的数都是一次性排好,不再访问。

对于长度为N的数组,需要N方/2次比较和N次交换。

choose(int[] a){

  for(int i=0 ;i<a.lengh;i++){

    int min=i;

    //找到当前位置开始最小的数的索引

    for(int j=i+1;j<a.lengh;j++){

      //如果后一个数比前一个数小就交换索引

      if(a[j]<a[min]){

        min=j;

      }

    }

   //索引位置的数做交换

   int t = a[min];

   a[min]=a[i];

   a[i]=t;

  }

}

 

 

posted @ 2017-02-27 11:08  GTM_AI编程  阅读(281)  评论(0编辑  收藏  举报