[알고리즘] 빠 른 정렬 (JavaScript 구현)

667 단어
빠 른 정렬 복습 해 주세요.
빠 른 정렬 의 사상 은 매우 간단 하 다. 세 단계 완성:
4. 567917. 배열 에서 하나의 요 소 를 골 라 서 4. 567914 로 한다. (기준) 4. 567918.
4. 567917. 모든 것 이 4. 567914 보다 작은 요 소 는 모두 4. 567914. 배열 에 넣 고 4. 567914 보다 큰 요 소 는 모두 4. 567914. 배열 에 넣는다
4. 567917. 4. 567914. 배열 은 첫 번 째 단계 와 두 번 째 단 계 를 계속 반복 하고 배열 에 하나의 요소 만 남 을 때 까지.
javascript 코드 는 다음 과 같 습 니 다:
const quickSort = arr => {
  if(arr.length <= 1 ) return arr
  let pivot = arr.splice(Math.ceil(arr.length / 2), 1)[0],
    left = [],
    right = []
  arr.forEach(o => o <= pivot ? left.push(o) : right.push(o))
  return [...quickSort(left), pivot, ...quickSort(right)]
}

좋은 웹페이지 즐겨찾기