排序算法思想:数组a[1...n],
(1) 假定min=a[1],a[1]与剩余其他数比较,如果比较中有比min大的数,则min改变为较小数;
(2) ......
(3)假定min=a[i],a[i]比较a[k](k>i,k<a.length),min=min{a[k],(k>i,k<a.length)}
(4) ......
java实现代码:
int a[]={49, 38, 65, 97, 76, 13, 27, 49};
int len=a.length;
int min;
int temp;
for(int i=0;i<=len-1;i++){
min=i;
for(int j=i;j<len;j++){
if(a[min]>a[j]){
min=j;
}
}
temp=a[i];
a[i]=a[min];
a[min]=temp;
for(int m=0;m<=len-1;m++){
System.out.print(a[m]+" ");
}
System.out.println();
}
for(int m=0;m<=len-1;m++){
System.out.print(a[m]+" ");
}
}
打印结果:
13 38 65 97 76 49 27 49
13 27 65 97 76 49 38 49
13 27 38 97 76 49 65 49
13 27 38 49 76 97 65 49
13 27 38 49 49 97 65 76
13 27 38 49 49 65 97 76
13 27 38 49 49 65 76 97
13 27 38 49 49 65 76 97
13 27 38 49 49 65 76 97