氣泡排序演算法的實現與優化

2021-10-03 06:52:04 字數 611 閱讀 6797

氣泡排序:遍歷陣列,兩兩比較交換,每一次小迴圈j將最大的元素放在陣列尾部。大迴圈i是迴圈陣列的長度次數,小迴圈則不用排最後乙個元素,每次迴圈長度減去i,最後完成排序:

public

static

void

bubblesort

(int

values)

system.out.

println

(arrays.

tostring

(values));

//每交換一次輸出一遍陣列}if

(flag==

true

) system.out.

println

("第"

+(i+1)

+"次小迴圈結束,排好了第"

+(values.length-i)

+"個元素");

}}}

優化則是加上判斷標誌flag,如何發現內迴圈一次沒有進行元素交換,則跳出外迴圈。

最差時間複雜度:o( n^2 )

最好時間複雜度:o( n )陣列本身有序的情況

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

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

排序演算法 氣泡排序 優化

排序演算法在程式設計中起到非常大的作用,氣泡排序是其中比較經典的演算法。雖然效率不高,但是每個演算法都有適合的場景。氣泡排序就是在排序過程中相鄰元素不斷交換,看起來向元素冒泡一樣。那我們就可以通過新增乙個標誌位來對氣泡排序進行優化處理。因為,在某一次排序的過程中可能需要排序的陣列已經是有序的了,在這...

排序演算法 氣泡排序及優化 Java實現

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