JS实现快速排序
<!DOCTYPE html>
<html>
<body>
<p>50,10,90,30,70,40,80,60,20</p>
<button onclick="sort()">快速排序</button>
<p id="demo"></p>
</body>
<script>
function partition(nums,low,high){
var pivot = nums[low];
var temp;
while(low<high){
while(low<high && nums[high] >= pivot){
high --;
}
temp = nums[high];
nums[high]=nums[low];
nums[low]=temp;
while(low<high && nums[low] <= pivot){
low ++;
}
temp = nums[high];
nums[high] = nums[low];
nums[low] = temp;
}
return low;
}
function QSort(nums,low,high) {
var pivot;
if (low<high) {
pivot=partition(nums,low,high);
QSort(nums,low,pivot-1);
QSort(nums,pivot+1,high);
}
}
function sort(){
var nums = [50,10,90,30,70,40,80,60,20];
QSort(nums,0,nums.length-1);
document.getElementById('demo').innerHTML= nums;
}
</script>
</html>