原理:比較兩個相鄰的元素,將值大的元素交換至右端。
思路:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一趟步驟,直至全部排序完成。
n個數要執行n-1次排序,每次排序內層迴圈為n-i次
冒泡的時間複雜度:最好的情況是o(n),最壞的情況是o(n2)
**:
int arr = ;
for (int i = 0; i < arr.length - 1; i++) }}
system.out.println(arrays.tostring(arr));
int arr = ;
boolean flag ;
for (int i = 0; i < arr.length - 1; i++)
}if (flag)
system.out.println(i);
}system.out.println(arrays.tostring(arr));
結果:
012
3[4, 5, 7, 10, 20, 30, 47, 65]
可以看出優化確實起了作用,只執行了4次外層迴圈就排序完成。 氣泡排序小結
氣泡排序,原理想起來並不難,核心便是四五行 若是用python,更是簡約。然而,自己寫起來,仍然並不順手,總是會糾結於下標的游動。今天便是如此,這不是我第一次寫冒泡演算法了,之前用python寫過一次,如下 def bubble sort list dist len list for j in ra...
氣泡排序演算法 C 氣泡排序演算法排序詳解
氣泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學者一定要掌握。c 氣泡排序演算法的例項源 一些排序方法的 集錦,該函式模板使用冒泡法對集合元素進行排序,引數說明 collection 集合物件,集合物件必須提供 操作。element 集合元素,該引數...
氣泡排序 氣泡排序演算法優化
常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...