氣泡排序演算法

2021-07-14 20:41:32 字數 922 閱讀 7853

今天第一次寫部落格,最近正在研究排序演算法,就從最簡單的氣泡排序演算法開始寫(有些時候為了面試,氣泡排序演算法被問到的機率還是很高的,不僅要求知道原理,還要會寫)。

1. 根據演算法原理我們可以寫乙個比較簡單的演算法(這個不是最優的,因為可能迴圈沒有結束的時候,就已經有序了)。

測試陣列:

測試結果如下:

[5, 7, 4, 8, 9]

[5, 4, 7, 8, 9]

[4, 5, 7, 8, 9]

[4, 5, 7, 8, 9]

[4, 5, 7, 8, 9]

通過結果不難發現,再迴圈到第四次的時候,這個結果已經有序了,不用再進行第五次的迴圈了。

2.我們可以改進我們的演算法,讓他在已經有序的時候,不在進行迴圈。

我們可以加乙個boolean引數,每次外層迴圈開始的時候把他設為false,只要這次內迴圈有移動,就把它設為true,如何內迴圈沒           有發生移動,就可以打斷外層迴圈,排序結束。

測試陣列:

測試結果如下:

[5, 7, 4, 8, 9]

[5, 4, 7, 8, 9]

[4, 5, 7, 8, 9]

氣泡排序演算法 C 氣泡排序演算法排序詳解

氣泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學者一定要掌握。c 氣泡排序演算法的例項源 一些排序方法的 集錦,該函式模板使用冒泡法對集合元素進行排序,引數說明 collection 集合物件,集合物件必須提供 操作。element 集合元素,該引數...

氣泡排序 氣泡排序演算法優化

常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...

排序演算法 氣泡排序

一.氣泡排序的過程 公升值排序 1.將第乙個記錄的關鍵字與第二個記錄的關鍵字進行比較,若key 1 key 2 則交換。然後比較第二個與第三個,依此類推,直到第n 1個與第n個比較為止,第一趟排序完後,記錄最大的關鍵字會被排在最後面。2.將記錄的前n 1個關鍵字進行第二趟比較交換,直到前n 1個中最...