氣泡排序及其優化詳解

2021-09-28 15:56:40 字數 717 閱讀 4237

最近看了比較多的排序及其優化方案,感覺有許多寫的不錯。於是自己也寫了一點筆記,如果還有其他優化方案也希望大家能積極分享。

我就話不多說直接貼**吧:

public

void

bublesort

(int

arr)}}

for(

int i =

0; i < arr.length; i++)}

//氣泡排序優化一 :

public

void

bublesort_up

(int

arr)}if

(issort)

//如果在本輪中沒有進行值的交換 說明排序已經完成了 則跳出迴圈}}

//氣泡排序優化二:

//思想---主要是在第二層迴圈裡面的arr.length-1-i某些時候不一定能概括所有的已排好的陣列下標,

//比如需要排序的陣列後面有好幾位都是自然遞增的,不用再次去比較排序的陣列。比如陣列:

public

void

bublesort_up2

(int

arr)

}//第一層迴圈的每一輪結束後就給迴圈的邊界賦值

sortmax = lastindex;

if(issort)

}}

後續我也將貼出其他排序及其優化方案和優化思想,也希望大家能多多交流!!!

氣泡排序及其優化

然則 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...