排序演算法系列之氣泡排序

2021-08-21 09:33:39 字數 559 閱讀 7266

核心思想:氣泡排序是一種典型的 交換排序 ,通過比較相鄰元素大小來決定是否交換位置

如上圖所示,以一組資料 為例,進行氣泡排序的演算法演示:

// 氣泡排序(c++)

void swap(int& a, int& b)

void bubblesort(vector

&vi)}}

}

演算法改進說明:1,對於是否已經是有序排列進行判斷;2,對已經排序好的元素不參與重複的比較。

//氣泡排序的演算法優化

void bubblesort(vector

&vi)

}sortborder=lastexchangeindex;

if(issorted)}}

排序演算法系列 氣泡排序

氣泡排序是是一種比較基礎簡單的演算法。它的原理是通過對比前後的元素大小,將較大的數換到後面的方式來實現排序 舉個例子 假如現在有乙個無序陣列disorder arr 4,2,19,10,1 第一步 取第0個元素4,和第1個元素2 對比,發現4比2大。第二步 交換4與2的索引。即第0個元素為2,第1個...

排序演算法系列 氣泡排序

對陣列array n 其陣列長度為n,元素索引0 n 1,對其進行公升序排序,針對n 10時,可選擇氣泡排序 氣泡排序要點 1.氣泡排序有兩層迴圈,外層迴圈用來計算有多少個數i不再需要比較,記憶體迴圈負責從index0 index n i 1 將相鄰元素進行比較和交換,簡單來說,第一輪排序時,內層比...

排序演算法系列之氣泡排序 3

把長度為 l 的陣列樹立起來,從最底部n l 1 開始,依次向上兩兩交換資料,每輪把最小的資料冒泡到頂部,使得頂部datas o datas i 為有序陣列,底部datas i datas n 為無序陣列 結束條件 排序好的資料長度為n 1,即 l 2 的時候,排序結束 缺點 資料需要兩兩交換冒泡到...