C 中常見的陣列(一維)排序演算法

2021-08-20 09:34:18 字數 1390 閱讀 7932

選擇排序:

排序輪數:

元素個數-1

演算法邏輯:

每一輪獲取當前輪的第乙個元素,依次和其後的各個元素進行比較,按照排序規則進

行相應的元素值交換。每一輪排序完成,會找到當前輪的乙個最值儲存在第乙個元素中,下一輪比較

忽略該元素 例:

8  3 6  5  1  

從小到大排序

* 第一輪:

1  8 6  5  3   

* 第二輪

3 8  6  5

* 第三輪

5 8  6

* 第四輪

6 8

選擇排序寫法: //

外層迴圈控制排序輪數

for (int i = 0; i < array.length- 1; i++)

}  氣泡排序:

排序輪數

:元素個數-1

演算法邏輯:

每一輪從首元素開始依次比較相鄰的兩個元素,按照排序規則進行相應交換。每一輪

比較完成找出當前輪的最後乙個元素儲存乙個最值,下一輪比較忽略該元素 例:

1 5  6  8 4 

從大到小排序

* 第一輪:

5 6  8  4  1

* 第二輪:

6 8  5  4

* 第三輪:

8 6  5

* 第四輪:

8 6

氣泡排序寫法: //

外層迴圈控制輪數

for (int i = 0; i < array.length- 1; i++)

} }

插入排序:

排序輪數:

元素個數-1

演算法邏輯:

插入排序是每一輪選定乙個值,然後來追蹤該值找到其在初始所在元素左側最合理的位置。第一輪找到第二個元素的值作為要追蹤的值,向左查詢最合理位置。以後各輪依次向後後移找到初始元素值,進行操作

15  6 8  9 14 

從小到大排序

* 第一輪 *

6  15 8  9  14 

起始下標:

1  追蹤的值:6

* 第二輪 *

6  8 15  9  14 

起始下標:

2  追蹤的值:8

* 第三輪 *

6  8 9  15  14 

起始下標:

3  追蹤的值:9

* 第四輪 *

6  8 9  14  15

起始下標:

4 追蹤的值:

14  

插入排序寫法: //

外層迴圈控制輪數

for (int i = 0; i < array.length- 1; i++) } }

Java陣列中常見的排序演算法

今天在陣列中用到了排序演算法,經過查詢資料之後,在這總結三種常見的排序演算法。氣泡排序法 public void fun1 n個數要比較的輪數為n 1 for int i 0 i array.length 1 i for int i 0 i array.length i 選擇排序法 public v...

c 中常見的演算法 希爾排序

希爾排序 也稱遞減增量排序演算法,是插入排序的一種更高效的改進版本。但希爾排序是非穩定排序演算法。希爾排序是基於插入排序的以下兩點性質而提出改進方法的 1,插入排序在對幾乎已經排好序的資料操作時,效率高,即可以達到線性排序的效率 2,但插入排序一般來說是低效的,因為插入排序每次只能將資料移動一位 希...

c 中常見的演算法 氣泡排序

氣泡排序 bubble sort 是一種直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。演算法思路 1,...