반응형
function qsort(arr, start, end) {
if (start == end) {
return;
}
let left = start;
let right = end;
let pivot = arr[left];
while (left < right) {
while (arr[right] >= pivot && right > left) {
right--;
}
arr[left] = arr[right];
while (arr[left] <= pivot && left < right) {
left++;
}
arr[right] = arr[left];
if (left == right) {
arr[left] = pivot; // left == right -> arr[right] = pivot;
qsort(arr, start, right - 1);
qsort(arr, left + 1, end);
}
}
}
let arr = [6, 5, 4, 1, 1, 1];
console.log("정렬 전 : ", arr);
qsort(arr, 0, arr.length - 1);
console.log("정렬 후 : ", arr);
반응형
'Basic > JavaScript' 카테고리의 다른 글
단일 연결 리스트 간단 구현 (0) | 2023.07.04 |
---|---|
FormData를 이용하여 json과 여러 파일을 같이 보내는 방법 (0) | 2023.07.03 |
js로 버전 비교하는 방법 (0) | 2023.05.09 |
mocha test를 parrelel하게 할때의 장단점 (0) | 2023.05.08 |
"Unhandled Error : TypeError: Converting circular structure to JSON 에러 해결 (0) | 2023.05.07 |