console
let array = [6,1,2,7,9,3,4,5,10,8];
function quickSort(arr, left, right) {
if (left > right) {
return;
}
let pointVal = arr[left];
let pointIdx = left;
let i = left;
let j = right;
while(i !== j) {
while(i < j && arr[j] >= pointVal) {
j--;
}
while(i < j && arr[i] <= pointVal) {
i++;
}
if (i < j) {
let temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
arr[pointIdx] = arr[i];
arr[i] = pointVal;
pointIdx = i;
quickSort(arr, left, pointIdx -1);
quickSort(arr, pointIdx + 1, right);
}
function main() {
document.getElementById('sort').onclick = function() {
quickSort(array, 0, array.length -1);
document.getElementById('result').innerHTML = array.join(' ');
}
}
main();
<div>待排序:</div>
<div>6,1,2,7,9,3,4,5,10,8</div>
<div>排序结果:</div>
<div id="result"></div>
<button id="sort">开始排序</button>