<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
/*原生方法。。快速排序*/
//1、找一个基准点
//2、建立两个数组,分别存储左边右边的数组
//3、利用递归,进行下次比较
function quick_sort (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]) ;//大于放到右边
}
};
return quick_sort(left).concat([numValue],quick_sort(right));//连接
}
alert(quick_sort([12,5,6,37,22,40]))
</script>
</head>
<body>
</body>
</html>
结果:5 6 12 22 37 40