快速排序的js實現

2022-05-04 05:57:08 字數 705 閱讀 8644

該方法的基本思想是:

1.先從數列中取出乙個數作為基準數。

2.分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。

3.再對左右區間重複第二步,直到各區間只有乙個數。

var quicksort = function(arr) 

var pivotindex = math.floor(arr.length / 2);

var pivot = arr.splice(pivotindex, 1)[0];

var left = ;

var right = ;

for (var i = 0; i < arr.length; i++) else

}  return quicksort(left).concat([pivot], quicksort(right));

};

es6的實現

function quicksort(arr) 

const [pivot,...rest] = arr;

return [

...quicksort(rest.filter(item => item < pivot)),

pivot,

...quicksort(rest.filter(item => item >= pivot))

]}

js實現快速排序

快排思想 1 在資料集之中,選擇乙個元素作為 基準 pivot 2 所有小於 基準 的元素,都移到 基準 的左邊 所有大於 基準 的元素,都移到 基準 的右邊。var quicksort function arr var pivotindex math.floor arr.length 2 var ...

js實現快速排序

快速排序主要用到的是遞迴和分治的思想當資料量比較大時,快排無疑是最好的選擇。對於公升序來講,大體思路是,首先我們定義左邊指標為i,最右邊為j,然後選最左邊的數字作為參照,然後從右邊往左邊搜尋,直到找到比參照數小的,然後將這個數字賦給i指標所在位置,再從左往右搜尋直到找到比參照大的,然後將這個數賦給j...

js實現快速排序

var quicksort function arr var pivotindex math.floor arr.length 2 取基準點 var pivot arr.splice pivotindex,1 0 取基準點的值,splice index,1 函式可以返回陣列中被刪除的那個數 var ...