반응형
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 |