您的位置:首页 > Web前端 > JavaScript

JS快速排序--记录点滴

2017-06-16 10:11 232 查看
<script type="text/javascript">
//快速排序:先找到一个基准点,也就是中间值,以基准点为例依次进行比较,比它小的放左边,大的放右边
//       左右分别用一个空数组存储比较后的数据, 最后用递归执行上述操作,直到数组长度<=1
var arrs=[1,23,54,111,33,4,65,2,13];
function fun(arrs){
if(arrs.length<=1){
return arrs;
}
//先找一个基准点
var  jizhun=Math.floor(arrs.length/2);
var leftArr=[];  //声明一个空数组,存放小的数
var rightArr=[]; //    存放大的数
// 然后获取到基准点的值,以方便后面进行比较,splice(index,1)可以返回数组中被删除的那个值
var zhongjianVal=arrs.splice(jizhun,1);
//遍历数组,然后进行比较判断
for(i=0;i<arrs.length;i++){
if(arrs[i]<zhongjianVal){
leftArr.push(arrs[i]);
}else{
rightArr.push(arrs[i]);
}
}
return fun(leftArr).concat(zhongjianVal,fun(rightArr));
}
alert("快速排序:"+fun(arrs));
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  快速排序 javascript