選擇排序演算法

2021-06-22 20:21:22 字數 921 閱讀 4702

資料結構課程中的兩種簡單的選擇排序演算法(簡單選擇排序演算法,堆排序)。

選擇排序演算法的基本思想是:每一步從待排序的元素中選出乙個關鍵字最小的元素,順序放在排序的元素序列的最後,這樣全部選完之後,排序結束。選擇排序演算法的效率與初始資料的順序無關,且每進行一趟排序歸位乙個元素。

1、簡單選擇排序

思想:從所給的元素中選擇最小值放在第乙個位置(將第乙個位置的元素與最小值交換位置),然後從之後的序列中選擇乙個最小值放在第二個位置,以此類推,直到排序完成。

演算法:用c\c++實現的對乙個陣列的簡單選擇排序演算法如下:

//簡單選擇排序

void selectsort(int a,int n)

else break;

}}void heapsort(int a,int n)

}

總結:堆排序的效率同樣跟初始序列的順序無關,每進行一趟排序歸位乙個元素,相關效能如下:

最後關於演算法的測試:

/*選擇排序演算法*/

#include using namespace std;

//簡單選擇排序

void selectsort(int a,int n)

else break;

}}void heapsort(int a,int n)

}//測試函式

int main()

; cout<

for(int i=0;i<10;i++)

cout<

演算法 選擇排序,例項分析選擇排序演算法

選擇排序,將乙個序列看做兩個部分,前面有序,後面無序,每次在後面的無序序列中,選擇乙個最小的元素,交換到前面有序序列的末尾,直到無序序列全部完成交換,即可完成排序 選擇排序是不穩定的排序演算法 有乙個序列 5,2,0,1,3,1,4 第一趟排序 第二趟排序 此時我們看到,經過兩趟排序,前面兩個元素 ...

排序演算法 選擇排序

private static int leftchild int i private static void perc int a,int i,int n for int i 0 ir j break else public static void heasp int r,int n for i 0...

排序演算法 選擇排序

摘自 wiki百科 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾 目前已被排序的序列 以此類推,直到所有元素均排序完畢。c語言實現 vo...