八種常見的排序方法詳解優化

2021-10-04 17:29:23 字數 1856 閱讀 2518

氣泡排序演算法的運作如下:(從後往前)

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 的演...