퀵 정렬 구현은 다소 까다롭지만 이해하고 계속 연습하면 더 쉬워질 것입니다.
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]
드라이런을 시도하면 선명한 사진을 얻을 수 있습니다.
위 내용은 자바스크립트를 이용한 빠른 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!