基本思想:從第乙個數開始,依次往後比較,如果前面的數比後面的數大就交換,否則不作處理。這就類似燒開水時,壺底的水泡往上冒的過程。
具體過程:
採用雙層迴圈進行氣泡排序
舉例:待排序資料如下: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 ...