陣列排序(1) 氣泡排序

2022-05-31 10:30:21 字數 1132 閱讀 9518

(一)氣泡排序

氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。

1.演算法描述:

(1) 比較相鄰的元素。如果第乙個比第二個大,就交換它們兩個;

(2) 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,這樣在最後的元素應該會是最大的數;

(3) 針對所有的元素重複以上的步驟,除了最後乙個;

(4) 重複步驟1~3,直到排序完成。

2.手動模擬:

3.演算法分析:

(1)時間複雜度:t(n) = o(n2)   最好情況o(n)  最壞情況o(n2)

(2)空間複雜度:o(1)

(3)穩定性:穩定

(二)**體現

public

class

bubblesort ;

bubble(arr);

//排序

system.out.println("-----------------------------------------");

print(arr);

//列印結果

}

private

static

void bubble(int

arr)

for (int i = 0; i < arr.length - 1; i++)

}if(flag == true

)

//列印每一趟排序後的順序

print(arr);}}

public

static

void print(int

arr)}}

}

bubblesort

陣列排序 1 氣泡排序

目錄 演算法思想 實現 時間複雜度 從陣列頭部開始,不斷比較相鄰的兩個元素,讓較大的那個元素後移,直到陣列的末尾。經過第一輪的比較,就可以找到最大的元素,並將它移動到最後乙個位置。從陣列頭部開始,不斷比較相鄰的兩個元素,讓較大的那個元素後移,直到與陣列的倒數第二個元素比完。經過第二輪的比較,就可以找...

排序(1) 氣泡排序

排序演算法是經久不衰的經典入門演算法,一般認為是,給定一組數,給出從小到大排序的結果。主要演算法有 選擇,插入,冒泡,歸併,希爾,基數,快速,桶排序等等。每種排序有其自身的特性,適合不同的場景。分析排序演算法主要從3個方面 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素做同樣...

排序 1 氣泡排序

目錄 1.什麼是氣泡排序 2.氣泡排序的關鍵點 3.氣泡排序應用 假設待排序列為9 6 4 2 7 8 5 3 1,要求是讓待排序列按遞增順序排列。氣泡排序就是對待排序列掃瞄一次,就可以使得最大的9就位。具體過程排序過程是 先9和6比較,比6大所以位置互換得到6 9 4 2 7 8 5 3 1,然後...