빠른 정렬
빠른 정렬은 자바스크립트에서 가장 중요한 정렬 방법 중 하나입니다. 배열에서 피벗 값(임의 값)을 취합니다. 배열의 다른 모든 요소는 두 개의 범주로 분할됩니다. 이들은 피벗 값보다 작고 피벗 값보다 클 수 있습니다.
각 범주(피벗보다 작고 피벗보다 큼)는 동일한 절차를 거쳐 피벗이 선택되고 각 범주는 하위 범주(피벗보다 작음 및 피벗보다 큼)로 나뉩니다. .
결국 하위 범주는 요소를 포함하거나 비교할 요소가 더 이상 없는 경우 요소를 포함하지 않는 방식으로 나뉩니다. 나머지 값은 일부 이전 지점에서 피벗으로 표시되며 이 가장 낮은 하위 범주로 흘러가지 않습니다.
예시
<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