氣泡排序及其優化

2021-09-25 15:37:59 字數 628 閱讀 1805

在認識氣泡排序之前,先來了解一下如何衡量乙個排序演算法的優劣:

下來我們來說說氣泡排序:

1.氣泡排序的思路:將乙個無序的陣列,通過比較交換,使得每一趟比較下來,一定有乙個當前的最大元素或最小元素(由公升序排序還是降序排序決定)沉到陣列的最後,從而實現有序

2.思路的細化分析:

public

static

void

bubblesort

(int

a)for(

int i=

0;i1;i++)}

}}

4.**分析:

public

static

void

bbsort

(int

a)for(

int i=

0;i1;i++)}

//沒有進行交換,此時陣列已經有序if(

!flag)

}}

我隨機生成了10w條資料,然後分別進行氣泡排序,結果如下:

6.氣泡排序總結:

氣泡排序及其優化

然則 2015年12月30日發布 氣泡排序是比較簡單的,其排序步驟就是比較相鄰元素並將較大的往後移。每掃瞄一輪,將確定乙個元素的位置。實現如下 void sort int a 對氣泡排序的優化主要是減少交換次數。如果一次掃瞄中元素沒有發生交換,那麼排序就可以結束了。為此可設定一標誌量flag,預設為...

氣泡排序及其優化

課程名稱 資料結構 實驗專案名稱 排序演算法的實現與比較 實驗目的 1 掌握優化氣泡排序的演算法 實驗要求 1 對於輸入的任意乙個整型資料序列,將其進行氣泡排序,要求該氣泡排序的演算法為優化之後的演算法,即 a.設定flag變數,當一趟排序結束後flag的值未更新,剛說明序列已經有序,停止排序 b....

氣泡排序及其優化

bubble sort比較簡單,本文首先列出了基礎版本bubble sort的偽 之後做兩點小的優化。1.基礎版本bubblesort 原始版的bubblesort 時間複雜度為o n 2 function bubblesort array x,int length for int i 0 i le...