javascript 快速排序
首先上图 说明原理

下面是代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
/*
1:找一个基数点
2:建立两个数分别存储左别和右边的数
3:用递归进行下次比较
*/
function quickSort(arr) {
if (arr.length <= 1)
return arr;
//找到中间坐标数
var num = Math.floor(arr.length / 2);
//找到值
var numvalue = arr.splice(num, 1);
//左右两个基数点
var left = [];
var right = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] < numvalue)
left.push(arr[i])
else
right.push(arr[i]);
}
//递归调用 concat() 方法用于连接两个或多个数组。
return quickSort(left).concat([numvalue],quickSort(right));
}
alert(quickSort([12,5,6,22,40]));
</script>
</head>
<body>
</body>
</html>
浙公网安备 33010602011771号