빠른 정렬
빠른 정렬은 자바스크립트에서 가장 중요한 정렬 방법 중 하나입니다. 배열에서 피벗 값(임의 값)을 취합니다. 배열의 다른 모든 요소는 두 개의 범주로 분할됩니다. 이들은 피벗 값보다 작고 피벗 값보다 클 수 있습니다.
각 범주(피벗보다 작고 피벗보다 큼)는 동일한 절차를 거쳐 피벗이 선택되고 각 범주는 하위 범주(피벗보다 작음 및 피벗보다 큼)로 나뉩니다. .
결국 하위 범주는 요소를 포함하거나 비교할 요소가 더 이상 없는 경우 요소를 포함하지 않는 방식으로 나뉩니다. 나머지 값은 일부 이전 지점에서 피벗으로 표시되며 이 가장 낮은 하위 범주로 흘러가지 않습니다.
예시
<html>
<body>
<script>
function quickSort(originalArr) {
if (originalArr.length <= 1) {
return originalArr;
} else {
var leftArr = [];
var rightArr = [];
var newArr = [];
var pivot = originalArr.pop(); // Take a pivot value
var length = originalArr.length;
for (var i = 0; i < length; i++) {
if (originalArr[i] <= pivot) { // using pivot value start comparing
leftArr.push(originalArr[i]);
} else {
rightArr.push(originalArr[i]);
}
}
return newArr.concat(quickSort(leftArr), pivot, quickSort(rightArr)); // array will be //returned untill sorting occurs
}
}
var myArray = [9, 0, 2, 7, -2, 6, 1 ];
document.write("Original array: " + myArray);
var sortedArray = quickSort(myArray);
document.write("Sorted array: " + sortedArray);
</script>
</body>
</html> 출력
Original array: 9,0,2,7,-2,6,1 Sorted array: -2,0,1,2,6,7,9