(一)氣泡排序
氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。
1.演算法描述:
(1) 比較相鄰的元素。如果第乙個比第二個大,就交換它們兩個;
(2) 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,這樣在最後的元素應該會是最大的數;
(3) 針對所有的元素重複以上的步驟,除了最後乙個;
(4) 重複步驟1~3,直到排序完成。
2.手動模擬:
3.演算法分析:
(1)時間複雜度:t(n) = o(n2) 最好情況o(n) 最壞情況o(n2)
(2)空間複雜度:o(1)
(3)穩定性:穩定
(二)**體現
publicbubblesortclass
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)}}
}
陣列排序 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,然後...