C 實現改進的氣泡排序

2021-07-23 15:46:13 字數 831 閱讀 7897

氣泡排序法(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...