1. 如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,也就是是按照字元編碼的順序進行排序。
var arr=[9
,5,3
,10,23
,4,43
];var newarr = arr.
sort()
; console.
log(newarr)
;// [10, 23, 3, 4, 43, 5, 9]
// 也就是會以首數字為準進行排序--字典排序
2.有引數時 雙軸快排
sort()引數- - -可選規定排序順序。必須是函式,
且函式中有兩個引數 第乙個引數是陣列後面的元素值 第二個引數是陣列前面的元素值
// 雙軸快排
var arr=[9
,5,3
,10,23
,4,43
];var newarr=arr.
sort
(function
(two,one));
console.
log(newarr)
;// [3, 4, 5, 9, 10, 23, 43]
3. 擴充套件 隨機排序
核心原理:
利用隨機數 math.random() 產生隨機數實在[0,1) 之間 ,用0.5減去隨機數,會隨機產生正數或者負數,隨後sort排序
var arr=[9
,5,3
,10,23
,4,43
];var newarr = arr.
sort
(function()
) console.
log(newarr)
;// 每次重新整理 產生新的陣列
陣列排序 快速排序
陣列排序 快速排序 1 陣列排序之快速排序 一趟快速排序的演算法是 1 設定兩個變數i j,排序開始的時候 i 0,j n 1 2 以第乙個陣列元素作為關鍵資料,賦值給key,即 key a 0 3 從j開始向前搜尋,即由後開始向前搜尋 j j 1即j 找到第乙個小於key的值a j a i 與a ...
陣列快速排序
1.快速排序,就是首先找乙個基準,記作a,並且將陣列中小於a的元素全部排在a的左邊,並且將陣列中比a大的元素全部排在a的右邊 文中提到的 小於 大於 可以自行定義 經過這樣的排序,我們不用保證在a的左邊和右邊的元素維持著一種順序,只要全滿足小於a 和大於a即可。這是我們下一步要進行的工作 2.將a左...
快速排序(QuickSort) 陣列
對於快速排序的具體介紹就不用贅述了。這裡記錄幾點要點。設定l0,r0為需排序陣列的起點終點,l,r為檢查到達的位置。選取陣列的首端 l0 或者尾端 r0 元素為基準元素q,如果是l0則從r0開始往前檢查,r0則從l0開始往後檢查,很顯然,這樣的話基準元素q始終位於l或者r位置,最後排序完成時,r l...