選擇排序
思路:
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。
重複第二步,直到所有元素均排序完畢。
假設有一個數組
原始數組
第一輪排序
第二輪排序
第三輪排序
第四輪排序
第五輪排序
代碼如下:
public static void selectSort(int[] array) {
for(int i = 0;i<array.length-1;i++) {
int index = i;
for(int j = i+1; j<array.length;j++) {
if(array[j]<array[index]) {
index = j;
}
}
if(i!=index) {
int temp = array[i];
array[i] = array[index];
array[index] = temp;
}
}
}