快速排序(js代码实现)

    <script>
    var arr1 =[1,4,0,6,3,2];//定义一个无序数组
    //定义一个函数
    function quickArray(arr){
      var left = [],right =[];
      if(arr.length <= 1){
          return arr;
        }
      var index = Math.floor(arr.length/2);//取一个基准值,此时取出来的为一个数组
      
      var p = arr.splice(index,1)[0];//取出数组中的基准值(将基准值从原数组中截取出来)
      for (var i=0;i<arr.length;i++){
        if(arr[i] <= p){
           left.push(arr[i]);
        }else{right.push(arr[i]);
        
        }
        

    }
     //运用递归
       return quickArray(left).concat(p,quickArray(right));//将左右两边数组连接起来

};
console.log(quickArray(arr1));
</script>

注意
1.splice() 方法用于添加或删除数组中的元素。
这种方法会改变原始数组。

返回值

如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。

在这里插入图片描述2.Math.floor() 方法返回小于等于x的最大整数。

如果传递的参数是一个整数,该值不变。
3.push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

新元素将添加在数组的末尾。
此方法改变数组的长度。

提示: 在数组起始位置添加元素请使用 unshift() 方法。
实例

数组中添加新元素:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.push(“Kiwi”)

fruits 结果输出:
Banana,Orange,Apple,Mango,Kiwi

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值