選擇排序基本思想:從數列第一位開始,遍歷之後的所有剩餘元素,找出其中最小的一個放到第一位,接下來再從第二位開始,找出數組中第二小的數,以此類推進行排序。
案例:
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
---------------------------------------------------------------------------------------------
總結:只是簡單的總結一下選擇排序。望路過的大神們多多指導指導。謝謝!!!