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

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

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

閱讀全文

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

熱點內容
假玉鐲的鑒別方法圖解 瀏覽:245
一個月後最佳追奶方法 瀏覽:340
佳能連拍在哪裡設置方法 瀏覽:689
如何通過物理方法提高智商 瀏覽:25
防炸片的正確方法 瀏覽:494
微信加好友方法有哪些 瀏覽:658
獸人訓練方法視頻 瀏覽:382
什麼是有效學習方法 瀏覽:213
房屋鋼筋安裝方法 瀏覽:429
科萊麗使用方法 瀏覽:481
我的世界手機版模組載入方法 瀏覽:285
如何增加人氣的方法 瀏覽:410
如何學好管理學方法 瀏覽:163
名圖模式在哪裡設置方法 瀏覽:49
消防箱門安裝方法有幾種 瀏覽:25
怎麼種土豆最簡單方法 瀏覽:687
貓體外驅蟲滴劑使用方法 瀏覽:983
中醫治療生殖皰疹方法 瀏覽:568
解決數理化解題能力的方法是什麼 瀏覽:561
糧食溫度計算方法 瀏覽:180