Rumah  >  Artikel  >  hujung hadapan web  >  Isih Pantas menggunakan Javascript

Isih Pantas menggunakan Javascript

WBOY
WBOYasal
2024-08-17 20:47:32451semak imbas

Quick Sort using Javascript

Melaksanakan Isih Pantas agak rumit tetapi jika anda memahaminya dan terus berlatih ia akan menjadi lebih mudah.

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]

Cuba keringkan, anda akan mendapat gambaran yang jelas.

Atas ialah kandungan terperinci Isih Pantas menggunakan Javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn