퀵 정렬의 핵심은 pivot을 정하고 좌측에 작은 것들, 우측에 큰것들 (혹은 반대로 정렬 가능)을 계속 재귀적으로 될때 마다 하는 것이다. 일례로 다음과 같다. extension Array where Element: Comparable { func quickSort() -> Self { var copy = self _quickSort(lst: ©, start: 0, end: copy.count - 1) return copy } } func _quickSort
원문 링크 : 재귀 분할 정복 퀵 정렬