排序演算法之氣泡排序

2021-10-24 08:32:41 字數 683 閱讀 7780

氣泡排序(bubble sort)

氣泡排序是一種交換排序,他的基本思想是:兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。

三種實現**:

第一種(最容易理解的):

//對順序表l作交換排序(氣泡排序初級版)

void

bubblesort0

(sqlist *l)}}

}

嚴格來說不是標準的氣泡排序演算法,因為不滿足它「兩兩比較相鄰記錄」的氣泡排序思想,它更應該是最簡單的交換排序而已。

第二種(正宗的冒泡演算法):

//對順序表l作氣泡排序

void

bubblesort

(sqlist *l)}}

}

第三種(氣泡排序優化):

//對順序表l作改進冒泡演算法

void

bubblesort2

(sqlist *l)}}

}

注:原始碼來自《大話資料結構》

排序演算法之氣泡排序

參考 氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。若...

排序演算法之氣泡排序

對於大多數學計算機的人來說,氣泡排序應該都是接觸的第一種排序方式,氣泡排序的排序思想是比較簡單的,它的演算法的是 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了...

排序演算法之氣泡排序

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