氣泡排序逐步詳解相關筆記(一)

2021-08-20 22:58:21 字數 936 閱讀 6882

1.氣泡排序實際上是陣列中相鄰的兩個元素互相比較,滿足條件之後就會互換位置

◆ 需要雙重for迴圈

◆比較的輪數 預設是陣列元素的個數減1

◆每輪比較的次數 預設是陣列元素的個數減1

◆滿足了相鄰的兩個元素互相比較的條件之後,就會互換這兩個元素的位置,從而達到大的值或最小的值不斷的往前面放或者往後面放的目的

◆隨著每輪的比較,最大的或最小的會被放在最前面或最後面,那麼就可以少比較幾次,因為那幾次沒有意義,那多餘的幾次等於已經比較了多少輪的輪數

◆這個過程中 可能會出現 提前排序完畢的情況發生,那麼可以在外迴圈中加乙個判斷,只要本輪內迴圈中沒有發生陣列元素位置交換的情況,那麼直接結束外迴圈。

◆在外迴圈中定義乙個標識,只要內迴圈中的判斷條件達成了,那麼就改變這個標識的值,說明有陣列元素的位置發生了改變,內迴圈的下面設定判斷標識是否是預設值,如果是預設值那麼久說明內迴圈中的判斷條件在本輪中一次都沒有達成,本輪陣列元素的位置沒有任何變化,那麼下一輪也不會發生任何變化,所以就可以直接外迴圈了。【開閉思想】定義標識,判斷標識,達到即時的結束迴圈的目的。

2.說了那麼多了,實際上氣泡排序就是一種排序的演算法,其實並不難

◆基礎版:不斷的進行比較,大的往後面放,小的往前面放,但是每輪都會比較相同的次數,所以顯得很費勁,需要優化。

◆基礎高階版:其實每輪排序做的事情就是把小的值放到前面,每輪比較都會把最大的那個值放到最後面,那麼就可以省略掉每輪比較的次數了,省略的次數就是你比較的輪數。

◆基礎完整版:其實每輪排序做的事情就是把最大的數放到最後面,小的值不斷的往前面放,所以既可以減少每輪比較的次數,實際上,但是某一輪比較的時候,沒有乙個元素更換了位置,那麼說明,排序已經完成了,這時候就可以不需要比較下去了。

氣泡排序之逐步講解

for int i 0 ia j 分析該程式,其中i表示的是遍歷整個陣列的個數,i 0 n 2,一共n 1次。j 1 n i 1 該程式內部迴圈執行的最後一次,j 1,j 2,滿足條件。氣泡排序相當於一次游泳的過程,第一次遍歷遊到終點,第二次是終點 1。最後一次是只遊一步。問題 能否把n i整體作為...

排序詳解 氣泡排序

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

氣泡排序詳解

冒泡嘛,就是大的氣泡在上面,就如 第一趟 從後面依次往前 173和178比較,在依次173與175,後面都是如此 第二趟 最小已經在第一排,第一排固定不動。第三趟 最小已經在第一排 第二排,第一排 第二排固定不動。第四趟 最小已經在第一排 第二排 第三排,第一排 第二排 第三排固定不動。這樣,便實現...