常用排序演算法

2022-06-28 10:21:10 字數 1037 閱讀 8383

簡述一些常用演算法,並用**實現它。

注:**是在網上找的。

(1)氣泡排序

核心思想:交換序列中相鄰兩個整數。

測試**:

1

void bubble_sort(void)2

;8int i = 0, j = 0;9

inttmp;

1011

for (i = 0; i < sizeof(a)/sizeof(int); i++) 18}

19}20for (i = 0; i < sizeof(a)/sizeof(int); i++)

23 printf("\n"

);24 }

執行結果:

5       4       3       2       1

(2)選擇排序

核心思想:每一趟在n-i+1 (i = 1,2,...,n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。

測試**:

1

void select_sort(void)2

;8int i = 0, j = 0;9

inttmp;

1011

for (i = 0; i < sizeof(a)/sizeof(int); i++) 19}

20}21for (i = 0; i < sizeof(a)/sizeof(int); i++)

24 printf("\n"

);25 }

執行結果:

5       4       3       2       1

(3)其它演算法

後續補充

常用排序演算法

筆者最近學習演算法,學了很久也只弄懂了幾個排序演算法,在這裡曬一下下,作為以後參考之用。一 為什麼要研究排序問題 許多計算機科學家認為,排序演算法是演算法學習中最基本的問題,原因有以下幾點 l有時候應用程式本身需要對資訊進行排序,如為了準備客戶賬目,銀行需要對支票賬號進行排序 l很多演算法將排序作為...

常用排序演算法

一 簡單排序演算法 由於程式比較簡單,所以沒有加什麼注釋。所有的程式都給出了完整的執行 並在我的vc環境 下執行通過。因為沒有涉及mfc和windows的內容,所以在borland c 的平台上應該也不會有什麼 問題的。在 的後面給出了執行過程示意,希望對理解有幫助。1.冒泡法 這是最原始,也是眾所...

常用排序演算法

排序演算法 最好時間 平均時間 最壞時間 輔助空間 穩定性 直接插入排序 o n o n 2 o n 2 o 1 穩定 希爾排序 o n 1.3 o 1 不穩定 直接選擇排序 o n 2 o n 2 o n 2 o 1 不穩定 堆排序 o n x lbn o n x lbn o n x lbn o ...