首頁  >  文章  >  web前端  >  使用 Javascript 進行快速排序

使用 Javascript 進行快速排序

WBOY
WBOY原創
2024-08-17 20:47:32451瀏覽

Quick Sort using Javascript

實現快速排序有點棘手,但如果你理解它並繼續練習,它會更容易。

const quickSort = (arr, lo, hi) => {
    if (lo >= hi) {
        return ;
    }

    const pivotIndex = getPivotIndex(arr, lo, hi);
    quickSort(arr, lo, pivotIndex-1);
    quickSort(arr, pivotIndex+1, hi);
}

const getPivotIndex = (arr, lo, hi) => {
    const pivot = arr[hi];
    let idx = lo-1;

    for (let i = lo; i< hi; i++) {
        if (arr[i] <= pivot) {
            idx++;
            const temp = arr[i];
            arr[i] = arr[idx];
            arr[idx] = temp;
        }
    }
    idx++;
    const temp = arr[idx];
    arr[idx] = pivot;
    arr[hi] = temp;

    return idx;
}
const arr = [9,1,0,3,2,5,9,10, 11];
quickSort(arr, 0, 8);
console.log(arr); // [0, 1,  2,  3, 5, 9, 9, 10, 11]

嘗試試運行一下,你會得到清晰的圖片。

以上是使用 Javascript 進行快速排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn