八大排序演算法學習筆記 氣泡排序

2021-09-30 11:22:55 字數 705 閱讀 5502

氣泡排序

(bubble sort

,台灣譯為:

泡沫排序

或氣泡排序

)是一種簡單的

排序演算法。

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

演算法原理:

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較

氣泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。所以,如果兩個元素相等,我想你是不會再無聊地把他們倆交換一下的;如果兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以相同元素的前後順序並沒有改變,所以氣泡排序是一種穩定排序演算法。

時間複雜度

氣泡排序最好的時間複雜度為

氣泡排序的最壞時間複雜度為

**:

void bubble_sort(inta,intn)//n為陣列a的元素個數}}

八大排序演算法 氣泡排序

在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即 每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。include include 常規氣泡排序 void bubblesort int r,int n ...

八大排序演算法 氣泡排序

氣泡排序是c語言中演算法的簡單實現 什麼是冒泡 他重複的走訪要排序的序列,一次比較倆個元素,如果順序錯誤就交換,知道沒有必要在交換就完成排序。例子 原序列 5 3 9 6 8 2 7 第一趟 3 5 6 8 2 7 9 第二趟 3 5 6 2 7 8 9 第三趟 3 5 2 6 7 8 9 第四趟 ...

八大排序 氣泡排序

原理 每次比較兩個數值,然後將數值大的交換到右邊。本人理解 迴圈陣列長度的次數,每次迴圈,都會將當前剩下的,還未排好序的數值中最大的值,放到當前未排好序的數值的最右邊,即下標為 陣列的長度 當前迴圈的次數 當前迴圈的次數 i 1 下標是由0開始,所以下標值要加1才等於迴圈次數 注釋 減當前迴圈的次數...