氣泡排序就是每次將重的泡泡下沉,輕的泡泡上浮。通過一次次反覆的操作,實現排序目的。
下面看一下冒泡的實現
public class test;
bubblesort(data);
for(int i=0;i
system.out.print(data[i]+" ");
private static void bubblesort(int data){
for(int i=data.length-1;i>0;i--){
for(int j=0;jif(data[j]>data[j+1])
swap(data,j,j+1);
private static void swap(int data,int x,int y){
int temp = data[x];可以看到,在bubblesort中,每次迴圈都會將data中最大的元素交給迴圈中最後那個元素,這樣,大的氣泡乙個個下沉,迴圈結束了,排序也就完成了。data[x] = data[y];
data[y] = temp;
氣泡排序時間複雜度最差,平均都是o(n²),最好就是當排序資料已經排好的時候,時間複雜度為o(n)
氣泡排序原理及優化實現 JS
假設陣列中有n個數,比較相鄰的兩項,如果前者大於後者,就把兩個數交換位置。那麼第一輪過後就可以選出乙個最大的數放在最後面 經過n 1 陣列的length 1 輪,就完成了所有數的排序。var arr 9 1,5 8,3 7 function bubblesort arr return arr 1,3...
氣泡排序實現原理
原理 比較兩個相鄰的元素,將值大的元素交換至右端。思路 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一趟步驟,直至全部排序完...
氣泡排序實現原理
原理 比較兩個相鄰的元素,將值大的元素交換至右端。思路 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一趟步驟,直至全部排序完...