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

2022-08-24 14:45:11 字數 819 閱讀 8201

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

演算法思路:

1,比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

2,對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。

3,針對所有的元素重複以上的步驟,除了最後乙個。

4,持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

**演示:

執行速度:氣泡排序當輸入的資料已經是正序時執行速度最快,當輸入的資料是反序時速度最慢

c#實現**:

1

static

void main(string

args)2;

5for (int i = 0; i < num.length; i++)615

}16}17

18for (int i = 0; i < num.length; i++)

1922

console.readkey();

23 }

執行結果:

**於:

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

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

C 實現集中常見的排序演算法

為什麼需要複習排序演算法,因為面對許多資料處理的時候,我們需要有限考慮時間複雜度,基本排序演算法能夠給我們很多靈感!資料結構 不定最差時間複雜度 o n 2 最優時間複雜度 o n log n 平均時間複雜度 o n log n 最差空間複雜度 根據實現的方式不同而不同 快速排序法 產生隨機數組 1...

c 中常見的演算法 歸併排序

歸併排序 merge sort 是建立在歸併並操作上的一種有效的排序演算法。該演算法是採用分治法 divide and conquer 的乙個非常典型的應用。作為一種典型的分而治之思想的演算法應用,歸併排序的實現由兩種方法 自上而下的遞迴歸 所有遞迴的方法都可以用重組重寫,所以就有了第2種方法 自下...