常用演算法簡述 選擇排序

2021-08-16 19:16:57 字數 608 閱讀 5761

選擇排序(英文:selection sort)是一種非常簡單直觀的排序演算法。它的工作原理如下:首先在未排序序列(排序操作開始時,未排序序列就是完整的序列)中找到最小(大)元素,存放到排序序列的起始位置(根據具體迴圈方式,也可以放到序列的末尾位置),然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

下面是選擇排序的示例動畫(紅色表示當前最小值,黃色表示已排序序列,藍色表示當前位置):

// 功能:實現對int陣列按公升序排序

// 引數:

// data: int陣列

// n: 陣列元素的個數

// 返回值:

// 無

//void selectionsort(int data, int n)

}if (min != i)

}printf("比較:%d次,交換:%d次.\n", compare_times, swap_times);

}

常用排序演算法 選擇排序

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

常用排序演算法 選擇排序

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

常用演算法之排序演算法 選擇排序

目錄 直接選擇排序 堆排序 思想 每趟從待排序的記錄序列中選擇關鍵字最小的記錄放置到已排序表的最前位置,直到全部排完。關鍵問題 在剩餘的待排序記錄序列中找到最小關鍵碼記錄。簡單的選擇排序 1 基本思想 在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換 然後在剩下的數當中再找最小的與第二個位置...