この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - JavaScript コーディング問題
43. Quick Sort を実装する

解答例:

function quickSort(arr, left, right) { if (left < right) { let pivotIndex = partition(arr, left, right); quickSort(arr, left, pivotIndex - 1); quickSort(arr, pivotIndex + 1, right); } return arr; }

function partition(arr, left, right) { let pivot = arr[right]; let pivotIndex = left; for (let i = left; i < right; i++) { if (arr[i] < pivot) { [arr[i], arr[pivotIndex]] = [arr[pivotIndex], arr[i]]; pivotIndex++; } } [arr[pivotIndex], arr[right]] = [arr[right], arr[pivotIndex]]; return pivotIndex; }

時間複雑性:平均的にO(nlogn)、最悪でもO(n^2) 空間複雑性:O(logn) 安定ソートではない。