氣泡排序的演算法描述:
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
優化思路:
如果某次比較發現沒有元素需要交換,則此時該陣列已經為有序陣列.通過該思路,我們可以在內迴圈結束時進行判斷,如果沒有發生元素交換,直接break出外迴圈.
public class bubble_sort ;
bubblesort(intarry);
for(int i:intarry) }
public static void bubblesort(int intarry)
}//列印內迴圈完成後的中間結果
for(int j:intarry)
system.out.println("中間結果");
//優化判斷
if(changeflag)
} }}
氣泡排序的特性是需要進行o(n^2)次排序,並且進行進行o(n^2)次交換 氣泡排序(優化版本)
最簡單的排序演算法,也是最暴力的,除了搞笑的猴子排序。主要思想是兩兩比較,把大的往後挪,理論上要走n n趟 陣列長度為n 例如 未排序前 1,9,5,6,4 1,5,6,4,9 1,5,4,6,9 1,4,5,6,9 usr bin env python coding utf 8 author 69...
Java 實現氣泡排序及優化
氣泡排序就是按索引逐次比較相鄰的兩個元素,滿足比較條件,則置換,否則不做改變。其優化手段可以從減少記憶體迴圈和外層迴圈著手。最差的冒泡 public void sort1 int ary system.out.println total time system.nanotime starttime ...
排序演算法 氣泡排序及優化 Java實現
氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。1.1 演算法描述 1.2 演示 基本的氣...