氣泡排序小是重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從a到z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。
氣泡排序演算法的原理如下:
1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
2.對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後乙個。
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
如圖所示:
**實現:
void bubblesort(int *arr, int len)
} }}
時間複雜度:o(n^2)
空間複雜度:o(1)
氣泡排序基本思想
原理 比較兩個相鄰的元素,將值大的元素交換至右端。每次獲得 最大 的數 思路 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一...
氣泡排序的基本思想
1 氣泡排序的基本思想 氣泡排序是交換排序中一種簡單的排序方法。它的基本思想是對所有相鄰記錄的關鍵字值進行比效,如果是逆順 a j a j 1 則將其交換,最終達到有序化 其處理過程為 1 將整個待排序的記錄序列劃分成有序區和無序區,初始狀態有序區為空,無序區包括所有待排序的記錄。2 對無序區從前向...
氣泡排序演算法的基本思想
1 氣泡排序的基本思想 氣泡排序是交換排序中一種簡單的排序方法。它的基本思想是對所有相鄰記錄的關鍵字值進行比效,如果是逆順 a j a j 1 則將其交換,最終達到有 序化 其處理過程為 1 將整個待排序的記錄序列劃分成有序區和無序區,初始狀態有序區為空,無序區包括所有待排序的記 錄。2 對無序區從...