氣泡排序的主要思想是通過交換把最大的元素交換到最後面。
設有n個元素,需要進行n輪比較,第一輪比較n次,之後遞減一次/2,簡化後時間複雜度約為n2,所以氣泡排序的時間複雜度是o(n2)。
#include
using
namespace std;
int n;
void
bubble_sort
(int
&a)int
main()
這主要是氣泡排序的主要內容,可是,這個演算法可能執行了幾輪,排序已經完成了,可是程式並不知道,那麼有什麼辦法解決呢?
氣泡排序中,如果有一輪沒有任何交換,那麼說明陣列中每個元素都比上乙個大,所以排序已經完成了。我們可以建立乙個叫is_sorted
的變數。
#include
using
namespace std;
int n;
void
bubble_sort
(int
&a)if
(is_sorted)
break;}
intmain()
氣泡排序到這裡就結束了,下期再見! 排序演算法 1 氣泡排序(C 版)
2.改進氣泡排序 3.雞尾酒排序 氣泡排序 bubble sort 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 ...
排序 排序演算法1
所謂氣泡排序就是,一組資料,以遞增的順序來說明,從第乙個數data 0 開始,依次和後面的資料比較大小,如果data 0 大於當前位置上的數就和這個數交換位置並繼續和後面的數相比,如果遇到比自己大的數了,就不交換 下一次開始的位置是data 1 然後依次往後推。void myswap int num...
排序演算法 1 選擇排序演算法
這篇部落格分為兩個部分 選擇排序演算法基本思想 實現與解析 由於這個排序演算法比較簡單,因此這篇博文就不做過多解釋了 一.選擇排序演算法基本思想 1 選擇排序 小到大排序 1.遍歷所有未排序的元素 找到最小的那個元素 2.將這個元素與未排序序列的第乙個元素交換位置 3.當剩下乙個元素時 排序結束 o...