常用的選擇排序

2021-10-01 12:47:33 字數 630 閱讀 7282

基本思路:首先在未排序的數列中找到最小(or最大)元素,然後將其存放到數列的起始位置;接著,再從剩餘未排序的元素中繼續尋找最小(or最大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

/** 選擇排序

* * 引數說明:

* a -- 待排序的陣列

* n -- 陣列的長度

*/void select_sort(int a, int n)

為例排序流程

第1趟:i=0。找出a[1...5]中的最小值a[3]=10,然後將a[0]和a[3]互換。 數列變化:20,40,30,10,60,50 -- > 10,40,30,20,60,50

第2趟:i=1。找出a[2...5]中的最小值a[3]=20,然後將a[1]和a[3]互換。 數列變化:10,40,30,20,60,50 -- > 10,20,30,40,60,50

第3趟:i=2。找出a[3...5]中的最小值,由於該最小值大於a[2],該趟不做任何處理。

第4趟:i=3。找出a[4...5]中的最小值,由於該最小值大於a[3],該趟不做任何處理。

第5趟:i=4。交換a[4]和a[5]的資料。 數列變化:10,20,30,40,60,50 -- > 10,20,30,40,50,60

常用排序演算法 選擇排序

選擇法排序 找出最小值,依次第乙個位置互換。例如陣列 33,6,5,59,12 第一次遍歷 找出最小值 12與陣列第乙個值33互換 第二次遍歷 找出除陣列第乙個值以外的剩下的最小值 5,與陣列第二個位置的值6互換 外部迴圈設定遍歷次數,陣列5個元素最多需要4次遍歷,因為每次決定陣列的乙個位置,最後乙...

常用排序演算法 選擇排序

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方...

常用的選擇排序演算法

一 排序 1.選擇排序 比較次數n2 2,交換次數n,原理是每次都找到最小的元素與第乙個元素交換位置 int sort int a 交換 b a i a i a min a min b return a 2.插入排序 原理就像整理橋牌,將每一張牌插入已經有序的牌中,後面的牌右移。當索引到達最右邊時,...