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

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

發布時間: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指針位置不變。

閱讀全文

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

熱點內容
整數乘法列式計算方法 瀏覽:609
寶寶剛出生白天用什麼方法叫醒 瀏覽:930
雙軌防火門安裝方法 瀏覽:39
風濕和類風濕通過什麼方法檢查 瀏覽:236
電機轉子跳動的測量方法及讀數 瀏覽:585
暴利產品的方法和技巧 瀏覽:45
美拍我分享的視頻在哪裡設置方法 瀏覽:76
長托使用方法 瀏覽:174
拱座分析方法以什麼為主 瀏覽:598
郁悶一次性解決方法 瀏覽:599
微博app水印怎麼設置在哪裡設置方法 瀏覽:960
用什麼方法讓大腦記憶力好 瀏覽:215
校園貸款怎麼解決方法 瀏覽:606
295的平方簡便方法 瀏覽:905
模擬地震自救方法視頻 瀏覽:393
電腦介質故障解決方法 瀏覽:607
食品分析測定水分方法對樣品要求 瀏覽:572
固體密度的測量方法實驗原理 瀏覽:489
華瑞凱琳真假鑒別方法 瀏覽:813
流金石瓷鑒別方法 瀏覽:839