排序演算法(快排,冒泡)

2021-10-06 13:13:52 字數 608 閱讀 8812

排序目的:快速查詢

排序演算法優劣的判斷條件:

1.時間複雜度

2.空間複雜度

3.穩定性(關鍵字值相等的數字們,排完序之後順序不變)

十大排序演算法

需要掌握的的:①氣泡排序 ②快速排序 ③希爾排序 ④折半插入排序 ⑤堆排序

氣泡排序

依次比較第i個數與第i+1個數的大小,如果符合條件則不變,如果不符合條件,兩者的值互換

int

arr =

newint

;//氣泡排序

for(

int i=

0;i1;i++)}

}//輸出

for(

int i=

0;i)

快速排序

在陣列中找乙個基準數(以第乙個數為例)定義乙個low,它從陣列開始向後尋找比基準數大的數字;定義乙個high,它從陣列的末尾開始尋找比基準數小的數字;然後將low和high找到的數字進行交換,再向下尋找,一直到low=high結束本次迴圈。此時左邊全部都是比基準數小的數字,右邊的數字全部比基準數大。此時就被分為了兩個陣列(左邊和右邊)兩個陣列再依次進行上述操作,知道排序完成。

高效率。

排序演算法二氣泡排序和快排

氣泡排序想必大家都非常熟悉了,這裡就直接貼 了 void bubblesort int array,int len if flag 1 break 時間複雜度為o n n 最好的情況下 優化後正序有序為o n 穩定的演算法。沒有優化的與原始序列的狀態無關,優化後與原始序列的狀態有關 paration...

排序演算法 冒泡 插入 歸併 快排

整理了一下幾種常見的排序演算法,包括冒泡 插入 歸併 快排。還有另外幾種待整理 堆排序 希爾排序 桶排序 直接上 include include include using namespace std void swap int a,int b 最簡單的氣泡排序,時間複雜度o n n void bu...

排序演算法 氣泡排序 快排 歸併排序

氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。步驟 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同...