过程描述:
对于给定的数组数据,经过第一轮比较得出最小数据,将该数据与第一数据的位置进行交换;
然后对不包含第一数据的其他数据进行第二轮比较,得到的最小数据与第二数据的位置进行交换;
以此类推,直至最后一个数据位置
public class SelectSortTest{
public static int[] selectSort(int[] array){
int len = array.length;
int i,j,n,flag,temp;
for(i=0;i<len;i++){
temp = array[i];
flag = i;
for(j=i+1;j<len;j++){
if(temp>array[j]){
temp = array[j];
flag = j;
}
}
if(flag != i){
n = array[i];
array[i] = array[flag];
array[flag] = n;
}
}
return array;
}
public static void main(String[] args){
int a[]={2,9,0,8,7,1,5,4,3,6};
a=selectSort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
结果:0 1 2 3 4 5 6 7 8 9