クイックソートの実装は少し難しいですが、理解して練習を続ければ簡単になります。
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 中国語 Web サイトの他の関連記事を参照してください。