一、快速排序
定一個(gè)基準(zhǔn),把小于基準(zhǔn)的放在左邊,大于基準(zhǔn)的放在右邊。如此循環(huán),直到有序。
var quickSort = function(arr){
if (arr.length<=1){
return arr;
}
var pivotIndex = Math.floor(arr.length/2);//找到中心點(diǎn)
var pivot = arr.splice(pivotIndex,1)[0];//獲取基準(zhǔn)點(diǎn)
var left= [];//定義左邊數(shù)組
var right= [];//定義右邊數(shù)組
for(var i=0;i<arr.length;i++){
if(arr[i]<pivot){
left.push(arr[i]);//小于基準(zhǔn)點(diǎn)的放在左邊
}else{
right.push(arr[i]);//大于基準(zhǔn)點(diǎn)的放在右邊
}
}
return quickSort(left).concat([pivot],quickSort(right));//使用遞歸重復(fù)這個(gè)過程
};
js-排序
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
- 某次二面時(shí),面試官問起Js排序問題,吾絞盡腦汁回答了幾種,深感算法有很大的問題,所以總計(jì)一下! 排序算法說明 (1...
- 說明 時(shí)間復(fù)雜度指的是一個(gè)算法執(zhí)行所耗費(fèi)的時(shí)間 空間復(fù)雜度指運(yùn)行完一個(gè)程序所需內(nèi)存的大小 穩(wěn)定指,如果a=b,a在...
- 讀書要讀什么:第一,作者的洞見,第二,作者提供的技能點(diǎn)。 為了寫作而進(jìn)行的閱讀有兩種: 第一種:讀內(nèi)容,目的是建立...