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