피벗을 기준으로 배열을 분할하며 정렬하는 과정을 재귀적으로 시각화합니다.
초기 배열
1function quickSort(arr, low = 0, high = arr.length - 1) {2 if (low >= high) return arr;3 const pivot = arr[high];4 let i = low - 1;5 for (let j = low; j < high; j += 1) {6 if (arr[j] <= pivot) {7 i += 1;8 [arr[i], arr[j]] = [arr[j], arr[i]];9 }10 }11 [arr[i + 1], arr[high]] = [arr[high], arr[i + 1]];12 quickSort(arr, low, i);13 quickSort(arr, i + 2, high);14 return arr;15}Step
1 / 59