1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後乙個。
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
public
class bubblesort ;
sortmethed(testarray);//氣泡排序
for(int i=0;i" ");}}
public
static
void sortmethed(int array)}}
}}
列印結果:
9 18 29 35 40 49
效能分析:
若記錄序列的初始狀態為「正序」,則氣泡排序過程只需進行一趟排序,在排序過程中只需進行n-1次比較,且不移動記錄;反之,若記錄序列的初始狀態為」逆序」,則需進行n(n-1)/2次比較和記錄移動。因此氣泡排序總的時間複雜度為o(n*n)。
java 排序演算法之氣泡排序
氣泡排序是一種最基礎也是最簡單的排序演算法,它是一種穩定排序演算法,其平均時間複雜度為o n2 on2 空間複雜度為o 1 o1 是一種原地排序演算法。氣泡排序的思想其實很簡單,就是從最後乙個元素開始,依次與其前面的元素作比較,如果位置錯誤就交換位置,否則不採取操作,一直到第乙個元素,此時第乙個元素...
Java排序演算法之氣泡排序
package demosort 在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即 每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。public class bubblesort int temp 0...
Java排序演算法之氣泡排序
基本處理思想是通過對相鄰兩個資料的比較及其交換來達到排序的目的。首先,將 n 個元素中的第乙個和第二個進行比較,如果兩個元素的位置為逆序,則交換兩個元素的位置 進而比較第二個和第三個元素關鍵字,如此類推,直到比較第 n 1 個元素和第 n 個元素為止 上述過程描述了起泡排序的第一趟排序過程,在第一趟...