導航:首頁 > 方法技巧 > 快速排序的方法是的排序方法

快速排序的方法是的排序方法

發布時間:2023-01-12 08:43:38

㈠ 快速排序演算法原理與實現

快速排序的原理:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小。

然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。

假設要排序的數組是A[1]……A[N],首先任意選取一個數據(通常選用第一個數據)作為關鍵數據,然後將所有比它的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一躺快速排序。一躺快速排序的演算法是:

1、設置兩個變數I、J,排序開始的時候I:=1,J:=N;

2、以第一個數組元素作為關鍵數據,賦值給X,即X:=A[1];

3、從J開始向前搜索,即由後開始向前搜索(J:=J-1),找到第一個小於X的值,兩者交換;

4、從I開始向後搜索,即由前開始向後搜索(I:=I+1),找到第一個大於X的值,兩者交換;

5、重復第3、4步,直到I=J。

(1)快速排序的方法是的排序方法擴展閱讀:

設要排序的數組是A[0]……A[N-1],首先任意選取一個數據(通常選用數組的第一個數)作為關鍵數據,然後將所有比它小的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。

值得注意的是,快速排序不是一種穩定的排序演算法,也就是說,多個相同的值的相對位置也許會在演算法結束時產生變動。

一趟快速排序的演算法是:

1、設置兩個變數i、j,排序開始的時候:i=0,j=N-1;

2、以第一個數組元素作為關鍵數據,賦值給key,即key=A[0];

3、從j開始向前搜索,即由後開始向前搜索(j--),找到第一個小於key的值A[j],將A[j]的值賦給A[i];

4、從i開始向後搜索,即由前開始向後搜索(i++),找到第一個大於key的A[i],將A[i]的值賦給A[j];

5、重復第3、4步,直到i=j; (3,4步中,沒找到符合條件的值,即3中A[j]不小於key,4中A[i]不大於key的時候改變j、i的值,使得j=j-1,i=i+1,直至找到為止。找到符合條件的值,進行交換的時候i, j指針位置不變。

閱讀全文

與快速排序的方法是的排序方法相關的資料

熱點內容
監控電源如何安裝方法 瀏覽:588
拉珠百葉窗簾免打孔安裝方法 瀏覽:32
怎麼正確的敷面膜方法 瀏覽:876
眼底積水如何治療方法 瀏覽:84
掰手腕鍛煉的方法 瀏覽:159
現在有快速便宜檢測血糖的方法嗎 瀏覽:248
解決喝水不用嘴的方法 瀏覽:485
五年級數學盈虧的解決方法 瀏覽:375
梅樹苗的種植方法 瀏覽:992
如何調漂最快的方法視頻 瀏覽:542
用什麼方法可以看到指紋 瀏覽:163
oppo鎖定豎屏幕在哪裡設置方法 瀏覽:941
如何減掉大肚腩的土方法 瀏覽:211
鑒定有哪些方法 瀏覽:436
吃過期拉肚子怎麼治療最快方法 瀏覽:273
手部創傷出血最簡便有效的方法 瀏覽:473
白菜食用方法 瀏覽:44
金邊吊蘭爛心的治療方法 瀏覽:558
調洪演算都有哪些方法 瀏覽:618
桔子種子盆栽種植方法 瀏覽:755