选择排序基本思想:从数列第一位开始,遍历之后的所有剩余元素,找出其中最小的一个放到第一位,接下来再从第二位开始,找出数组中第二小的数,以此类推进行排序。
案例:
public static void main(String[] args) {
int a [] = {4,10,1,9};
int c []= chooseSort(a);
for (int i = 0; i < c.length; i++) {
System.out.print(c[i]+" ");
}
}
private static int[] chooseSort(int[] a) {
int minIndex = 0;
for (int i=0;i<a.length-1;i++){
minIndex = i;
for(int j=i+1;j<a.length;j++){
if(a[minIndex]>a[j]){
minIndex = j;
}
}
if(minIndex != i){
int temp = a[i];
a[i] = a[minIndex];
a[minIndex] = temp;
}
}
return a;
}
流程分析:
数组:int a [] = {4,10,1,9};
---------------------------------------------------------------------------------------------
第一趟排序 :
排序前数据 :4 10 1 9
数据中1是最小,放到首位,即4和1进行交换
排序结果:1 10 4 9
---------------------------------------------------------------------------------------------
第二趟排序 :
排序前数据 :1 10 4 9
数据中4是最小,4和10进行交换
排序结果:1 4 10 9
---------------------------------------------------------------------------------------------
第三趟排序 :
排序前数据 :1 4 10 9
数据中9是最小,10和9进行交换
排序结果:1 4 9 10
---------------------------------------------------------------------------------------------
总结:只是简单的总结一下选择排序。望路过的大神们多多指导指导。谢谢!!!