資料結構 交換排序之氣泡排序法詳解

2021-10-21 19:46:56 字數 724 閱讀 6808

基本思想:從第乙個數開始,依次往後比較,如果前面的數比後面的數大就交換,否則不作處理。這就類似燒開水時,壺底的水泡往上冒的過程。

具體過程:

採用雙層迴圈進行氣泡排序

舉例:待排序資料如下:87

645第一次比較:78

645第二次比較:76

845第三次比較:76

485第四次比較:76

458經過四次比較後將8冒到最後位置45

678迴圈進行比較,便是如下過程:

冒泡過程中:共n-1次比較;

具體實現**如下:

void

swap

(int

* left,

int* right)

void

bubblesort

(int

* array,

int size)

/* j:表示的是陣列的下標---->j表述後乙個元素的下標

for (int j = 1; j < size - i; ++j)

*/}}

時間複雜度:o(n^2)

空間複雜度:o (1)

穩定性:穩定

應用場景:使用者需要穩定的排序演算法,序列接近有序

資料結構 排序 交換排序 氣泡排序法

資料結構 排序 交換排序 氣泡排序法 氣泡排序 bubble sorting 的基本思想是 設待排序n個元素存放在陣列a n 中,無序區範圍初始為 a 0 a 1 a 2 a n 1 冒泡 排序方法是在當前無序區內,從最上面的元素a 0 開始,對每兩個相鄰的元素a i 1 和a i i 0,1,n ...

資料結構 排序 交換排序 氣泡排序法

氣泡排序 bubble sorting 的基本思想是 設待排序n個元素存放在陣列a n 中,無序區範圍初始為 a 0 a 1 a 2 a n 1 氣泡排序方法是在當前無序區內,從最上面的元素a 0 開始,對每兩個相鄰的元素a i 1 和a i i 0,1,n 1 進行比較,且使值較小的元素換至值較大...

資料結構例程 交換排序之氣泡排序

本文是 資料結構基礎系列 9 排序 中第4課時 交換排序之氣泡排序 的例程。氣泡排序 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef struct 記錄型別 rectype ...