选择排序是这样的, 首先,找到最小的一个数,放在第一个位置,然后在剩下的元素中,找到最小的 ,放在第二个位置,再在除过这两个元素的剩下的里面找到最小的,就是第三小。这样依次类推。最后得到的数列,就是从小到大了。
这个排序的效率不是很高。 如果有100个数,要比较100+99+98 ····+1 次。

package bigo;

public class selectsort {
private static void selectSort(int []src, int length){
//i 表示第 i个 最小的数
int min;
for(int i=0;i<length-1;i++){
//在剩下的j到length的数中,找到最小的。
min = i;
for(int j=i+1;j<length;j++){
if(src[j] < src[min])
min = j;
}
if(min != i){
int tmp=src[min];
src[min] = src[i];
src[i] = tmp;
}
}
}
public static void main(String[] args) {
int [] src = {1,9,2,8,3,7,4,6,5};

for(int i =0; i<src.length; i++){
System.out.println(src[i]);
}

System.out.println("after select sort");
selectSort(src,src.length);

for(int i =0; i<src.length; i++){
System.out.println(src[i]);
}
}
}