この解答例は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) 安定ソートではない。