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;

  }

}

原文地址:https://www.cnblogs.com/fastLearn/p/6472779.html