使用c c 實現氣泡排序演算法和比較排序演算法的效率

2021-08-31 10:03:15 字數 1820 閱讀 6871

結論通過對比冒泡法排序和普通的比較排序,闡述冒泡法的排序效率,從而達到更好的掌握冒泡法的目的

#include #include using namespace std;

/** * @brief normal_sort

* * normal compare algorithm to sort data sequence form smallest ---> biggest

* * @param vec

*/void normal_sort(vector&vec)

cout << endl;

cout << endl;

for(i=0; ivec.at(j) )

}for(auto v : vec)

cout << endl; }}

int main(int argc, char **argv)

執行結果

tony@tech:~/linux/fight$ ./normal_sort 

num: the bigger is down to bottom, and the smaller is up to the top

4 5 7 1 8 3

1 5 7 4 8 3

1 3 7 5 8 4

1 3 4 7 8 5

1 3 4 5 8 7

1 3 4 5 7 8

num1: if sequence is alredy sort, just run once time

1 2 3 4 5 6

1 2 3 4 5 6

1 2 3 4 5 6

1 2 3 4 5 6

1 2 3 4 5 6

1 2 3 4 5 6

#include #include using namespace std;

/** * @brief bubble_sort

*

* bubble algorithm to sort data sequence form smallest ---> biggest

* * @param vec

*/void bubble_sort(vector&vec)

cout << endl;

cout << endl;

for(i=size-1, flag=true; i>1 && flag; --i)

}for(auto v : vec)

cout << endl; }}

int main(int argc, char **argv)

執行結果

tony@tech:~/linux/fight$ ./bubble_sort 

num: the bigger is down to bottom, and the smaller is up to the top

4 5 7 1 8 3

4 5 1 7 3 8

4 1 5 3 7 8

1 4 3 5 7 8

1 3 4 5 7 8

num1: if sequence is alredy sort, just run once time

1 2 3 4 5 6

1 2 3 4 5 6

tony@tech:~/linux/fight$ gedit normal_sort.cpp

tony@tech:~/linux/fight$

通過比較兩種演算法的差異得知:

冒泡演算法和快速排序演算法實現和比較

要進行排序的陣列 example array 7,5,6,9,3,4,2,1,7,10,15,12,2,32,1,2,13,123,2,2,546,53,4,2,2,43,4,54,3,43,5,345,45,3,3,243,21,44,124,2,4,32432 冒泡演算法 演算法思路是將每個相鄰...

雙向氣泡排序 和 單向氣泡排序 演算法分析比較

假設單向氣泡排序也是 在如果沒有交換發生的情況下則終止 即changeflag false的情況下 以下是單向氣泡排序 1 最差情況 假設輸入打下為n 1 單向排序 需要進行n次外迴圈,n次changeflag false 賦值和後面的比較判斷,即2 n。每次外迴圈有n i 1次內迴圈,內迴圈總數為...

C C 實現冒泡法排序

file gm bsort.h brief 氣泡排序 author don hao date 2011 8 23 19 55 56 version email hao.limin gmail.com company modification write modifications here.ifnd...