氣泡排序法(bubble sort),即起泡排序並不能改觀普通排序的時間複雜度,還是o(n^2)。氣泡排序法是從後往前兩兩比較,然後遍歷整個陣列,猶如魚吐水泡,故起此名。而普通排序法是遍歷整個陣列,然後每個元素和後面的所有元素進行比較,公升序則是後面小的和該元素互換位置,但這樣可能將很小的元素移到後面。
改進的氣泡排序是通過設立乙個標誌位flag,當檢測到公升降序排序時完成時候,置位標誌位flag,提前結束排序。傳統氣泡排序和改進的排序程式比較如下:
#include#include#includeusing namespace std;
/********************************
傳統冒泡公升序排序
********************************/
void bubblesort(int *data, int nlen)
}}/********************************
優化冒泡公升序排序
設定標誌位來提前結束早排序完成情況
********************************/
void optimbubblesort(int *data, int nlen )
}
}}int main()
}//bubblesort(narr, nlen); //普通氣泡排序
optimbubblesort(narr, nlen);//改進氣泡排序
for(int j=0;j' ';
}cout0;}
個人學習記錄,由於能力和時間有限,如果有錯誤望讀者糾正,謝謝! 氣泡排序再學習改進氣泡排序(c )
編譯器 dev c 5.11 includeusing namespace std int main for int i 0 i 10 i for int j 0 j 10 i 1 j for int i 0 i 10 i cout compilation results.errors 0 warn...
氣泡排序 改進
氣泡排序是最簡單的排序演算法之一,在這裡首先要說明的是乙個要注意的地方。氣泡排序在最好情況下時間複雜度可以是o n 2 也可以是o n 下面看一種大家看得最多的寫法 public void bubblesort int arr 上面這樣寫最好情況下也是o n 2 那麼再來看下面這種寫法 public...
改進的氣泡排序
改進的氣泡排序 按照公升序的方式對陣列進行排序,此處我們通過新增標記位,對陣列中已經有序的序列不再排序,加快了排序的速度 author iamwiam public class bubble public static void main string args bubblesort a for i...