直接選擇排:這種排序思想。直接選擇排序顧名思義:就是重一堆中每次取出最大數(或者最小數)依次排列:
有這麼一組數:9 1 5 4 8 7 4 6 6
採用選擇排序是這麼的:
第1次 1 9 5 4 8 7 4 6 6 首先重開始的裡面選擇最小的,交換位置
第2次 1 4 5 9 8 7 4 6 6 接著又從上面黑色數字裡面選最小的
第3次 1 4 4 9 8 7 5 6 6 重複
第4次 1 4 4 58 7 96 6
第5次 1 4 4 56 7 9 8 6
第6次 1 4 4 5 6 6 9 8 7
第7次 1 4 4 56 6 7 8 9
第8次 1 4 4 5 6 6 7 8 9
下面看看**實現:
packagecom.fish.sort;
public
classselectsort ;
// 排序
myresult(array);
}public
static
voidmyresult(intarray)
}if(i != minindex)
}system.out
.println("
結果是:");
for(inti = 0; i < array.length; i++) }}
這種排序時間演算法複雜度是n^2 空間複雜度為1 是不穩定的排序。
排序演算法(直接選擇排序)
為什麼我們要叫直接選擇排序呢?在最開始的時候,待排序區間是整個陣列,從區間選乙個最小的與區間第乙個交換位置,然後將待排序區間從第二個開始,繼續以上操作,直至待排序區間長度為0 我們還是以為例 初始 3 5 7 9 8 6 2 1 4 0 第一趟 05 7 9 8 6 2 1 4 3 第二趟 0 17...
排序演算法 直接選擇排序
選擇排序的基本思想是 每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放入已排序數列的最後,直到全部記錄排序完畢。直接選擇排序是一種簡單直觀的排序演算法。它的工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列...
排序演算法之直接選擇排序
直接選擇排序是將整個待排序序列分為兩部分,一部分為有序 最開始有序序列為空 一部分為無序 最終無序序列為空 有序序列中的數都不大於無序序列中的數。它的過程是每次都在無序中尋找乙個最小的數,然後將其與無序序列的第乙個數交換,並併入有序序列。則有序序列長度增1,無序序列長度減1。比如 對r 0 n 陣列...