欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

JAVA并歸排序代碼 java 歸并排序

java中Arrays.sort使用的是什么算法

Arrays.sort()

10年積累的網站建設、成都網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有紅寺堡免費網站建設讓你可以放心的選擇與我們合作。

先來看看Arrays.sort();,一點進這個方法會看到是這樣子的

public?static?void?sort(int[]?a)?{

DualPivotQuicksort.sort(a,?0,?a.length?-?1,?null,?0,?0);

}123

果然沒這么簡單,DualPivotQuicksort翻譯過來就是雙軸快速排序,關于亂凳早雙軸排序可以去這里?看看。那再次點進去,可以發(fā)現有這么一段代碼

if?(right?-?left??QUICKSORT_THRESHOLD)?{

sort(a,?left,?right,?true);

return;

}1234

可以發(fā)現如果數組的長度小于QUICKSORT_THRESHOLD的話就會使用這個雙軸快速排序,而這個值是286。

那如果大于286呢,它就會堅持數組的連續(xù)升序和連續(xù)降序性好不好,如果好的話就用歸并排序,不好的話就用快速排序,看下面這段注釋就可以看出

*?The?array?is?not?highly?structured,

*?use?Quicksort?instead?of?merge?sort.

123

那現在再回到上面嘩雀的決定用雙軸快速排序的方法上,再點進去,發(fā)現又會多一條判斷

//?Use?粗枝insertion?sort?on?tiny?arrays

if?(length??INSERTION_SORT_THRESHOLD)

123

即如果數組長度小于INSERTION_SORT_THRESHOLD(值為47)的話,那么就會用插入排序了,不然再用雙軸快速排序。

所以總結一下Arrays.sort()方法,如果數組長度大于等于286且連續(xù)性好的話,就用歸并排序,如果大于等于286且連續(xù)性不好的話就用雙軸快速排序。如果長度小于286且大于等于47的話就用雙軸快速排序,如果長度小于47的話就用插入排序。真是有夠繞的~

網頁標題:JAVA并歸排序代碼 java 歸并排序
網站網址:http://chinadenli.net/article0/dshodio.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站制作品牌網站建設關鍵詞優(yōu)化虛擬主機小程序開發(fā)面包屑導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

手機網站建設