在認識氣泡排序之前,先來了解一下如何衡量乙個排序演算法的優劣:
下來我們來說說氣泡排序:
1.氣泡排序的思路:將乙個無序的陣列,通過比較交換,使得每一趟比較下來,一定有乙個當前的最大元素或最小元素(由公升序排序還是降序排序決定)沉到陣列的最後,從而實現有序
2.思路的細化分析:
4.**分析:public
static
void
bubblesort
(int
a)for(
int i=
0;i1;i++)}
}}
我隨機生成了10w條資料,然後分別進行氣泡排序,結果如下:public
static
void
bbsort
(int
a)for(
int i=
0;i1;i++)}
//沒有進行交換,此時陣列已經有序if(
!flag)
}}
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...