C 排序演算法之冒泡演算法

2021-08-03 09:12:47 字數 449 閱讀 3646

1.冒泡演算法

思想:從第乙個數開始,將相鄰兩個數比較,將小的調到前面。

效果:第一趟比較,將最大的移到最後乙個位置;第二趟,將次大的移到倒數第二個位置,以此類推,需要做n-1次迴圈。

void bubble_sort(int a,int n)

//}}

如果用指標的話,一定要注意陣列名是指標常量,不能修改其值,只能修改指標指向的值。

void bubble_sort(int a, int n)

}

效能分析:固定比較次數,第i趟,需要比較n-i次,總比較次數為n(n-1)/2

最好情況:序列已經有序,不需要移動

最壞情況:每次比較需要三次移動,總移動次數3n(n-1)/2

時間複雜度,o(n2)

C 排序演算法之氣泡排序

氣泡排序 思想 通過一系列的 交換 動作完成。首先第乙個記錄和第二個記錄比較,如果第乙個大,則二者交換,否則不交換 然後第二個記錄和第三個記錄比較,如果第二個大,則二者交換,否則不交換.一直按這種方式進行下去,最終最大的那個記錄被交換到了最後,一趟氣泡排序完成。這個過程中,大的記錄像一塊石頭一樣 沉...

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

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

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

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