演算法之氣泡排序

2021-10-06 09:36:21 字數 892 閱讀 1425

氣泡排序只會操作相鄰的兩個資料。每次冒泡操作都會對相鄰的兩個元素進行比較,看是否滿足大小關係要求。如果不滿足就讓它倆互換。一次冒泡會讓至少乙個元素移動到它應該在的位置,重複 n 次,就完成了 n 個資料的排序工作。

氣泡排序要注意的點有兩個:

1.他是可以一種可以穩定排序的演算法(穩定排序就是,多個值相同時,每個值得相對位置不變)

2.要比書本上多加乙個變數,用於判斷某次冒泡操作是否資料移動,當沒有資料移動時就不用在繼續了,因為已經排好序了。減少沒必要的操作。

c++**如下:

#include

#include

using

namespace std;

void

swap

(vector<

int>

& arr,

int i,

int j)

void

bibblesort

(vector<

int>

& array1)

if( flag ==

false

)return;}

}int

main()

;bibblesort

(arr)

;int n = arr.

size()

; cout << n

int i =

0; i < arr.

size()

; i++

)system

("pause");

return0;

}

關注我,會定期更新資料結構與演算法,c++程式設計,leetcode刷題,開發中的感悟,共同學習。加油!!!

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

排序演算法系列目錄說明 排序演算法簡介說明 1.定義 將一組雜亂無章的資料按一定的規律順次排列起來。例如 輸入 a1,a2,a3,an 輸出 a1 a2 a3 an 滿足a1 a2 a3 an 排列 2.演算法效能評估術語言 穩定 如果a原本在b前面,而a b時,排序之後a仍然在b的前面。不穩定 如...

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

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

排序演算法之氣泡排序

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