【快速排序】
思路:
(1)在數據集之中,選擇一個元素作爲"基準"(pivot)。
(2)所有小於"基準"的元素,都移到"基準"的左邊;所有大於"基準"的元素,都移到"基準"的右邊。
(3)對"基準"左邊和右邊的兩個子集,不斷重複第一步和第二步,直到所有子集只剩下一個元素爲止。
用js實現快速排序=>
<!DOCTYPE html>
<html>
<head>
<title>快速排序</title>
</head>
<script>
function QuickSort(arr) {
var mark = arr[0];//設置第一個爲基準值
var leftArr =[];
var rightArr =[];
if(arr.length <= 1) {
return arr;
} else {
for(var i=1 ; i<arr.length; i++) {
if(arr[i] <= mark) {
leftArr.push(arr[i]);
} else {
rightArr.push(arr[i])
}
}
}
return QuickSort(leftArr).concat([mark], QuickSort(rightArr))
}
console.log(QuickSort([5,15,7,88,1,5,12,48,6,68,19]))
//[1, 5, 5, 6, 7, 12, 15, 19, 48, 68, 88]
</script>
<body>
<h6>快速排序</h6>
</body>
</html>