氣泡排序演算法的運作如下:(從後往前)
1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後乙個即排序n-1次
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。每次對1~n-i範圍進行比較即可
時間複雜度:o(n^2)
**示例
void
bubsort
(int num)
}}for(
int i=
1;i<=n;i++
) cout<
<<
" ";
cout<
}
很簡單,排序n-1次,每次找出乙個未被找出的最大值,放在未排序的隊首或隊尾。
**示例:
void
selectsort
(int num)
}// cout<
// cout/ cout
for(
int i=
1;i<=n;i++
) cout<
<<
" ";
cout<
}
每次插入乙個數之前,都與已經插入排序好的陣列進行比較。
}1.先從數列中取出乙個數作為基準數。
2.分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。
3.再對左右區間重複第二步,直到各區間只有乙個數;
/*思路:
53343 23232 32 -2 23
55 4 3 2 1
*/int num[
100]
;int n;
void
swap
(int x,
int y)
void
quicksort
(int left,
int right)
for(
int i=
1;i<=n;i++
) cout<
<<
" ";
cout<
quicksort
(st,left-1)
;quicksort
(left+
1,en);}
intmain()
八種常見的排序演算法
演算法 穩定性時間複雜度 計數排序 穩定o n 基數排序 穩定o n 桶排序不穩定 o n 插入排序 穩定o n 2 歸併排序 穩定o nlogn 快速排序 不穩定o nlogn 希爾排序 不穩定o n 2 堆排序不穩定 o nlogn include include using namespace...
八種常見的演算法排序
一 排序演算法的分類 列舉7種 1.氣泡排序 2.選擇排序 3.插入排序 4.快速排序 5.歸併排序 歸併排序需要額外的記憶體空間來儲存資料,其他的方式都是在原來資料上做交換 6.希爾排序 7.堆排序 1 最基礎的排序 氣泡排序 時間複雜度是 o n 2 設無序陣列a長度為n,以由小到大排序為例。冒...
八種排序方法總結
一 穩定性 穩定 氣泡排序 插入排序 歸併排序和基數排序 不穩定 選擇排序 快速排序 希爾排序 堆排序 二 平均時間複雜度 o n 2 直接插入排序,簡單選擇排序,氣泡排序。在資料規模較小時 9w內 直接插入排序,簡單選擇排序差不多。當資料較大時,氣泡排序演算法的時間代價最高。效能為o n 2 的演...