美文网首页
数组方法

数组方法

作者: 梦回98 | 来源:发表于2019-07-16 00:55 被阅读0次

    1、快速排序。

    var arr=[2,4,6,88,78,67,65,9,12];      
    function quicklySort(list){     
      if(list.length < 1 ){       //如果list.length小于1的话。
        return list;              //那么就返回原来的数组中,重新循环。
      }
      var centerIndex = Math.floor(list.length / 2);            //数组的中间数下标
      var centerNum = list.splice(n,1)[0];                  //数组的中间数
      var left = [],right = [];                       //创建两个空数组用于装参数。
      for(var i=0;i<list.length;i++){                 
        if(list[i] < num){                            //当数组里面的数值小于中间数
          left.push(list[i])                          //推入到左边的空数组中。
        }else{
          right.push(list[i])                         //大于中间数的数,推入到右边的数组中。
        }
      }
      return quicklySort(left).concat([num],quicklySort(right))    //返回值 左边的数组和中间的数值还有右边的数组。
    }
    console.log(quicklySort(arr))                     //打印重新排序的数组。
    

    2、判断质数:自然数大于1且只能被一和他本身整除的数字.

    function zhiNum(n1,n2){
    var arr=[];
      for(var i=0;i<n2;i++){
        if(isSure(i)){
          arr.push(i)
        }
      }
      return arr
    }
    function isSure(n){//传进来的每一个数从2开始向后取余  ==0时表示能被整除 不等于0不能被整除此时这个数是质数
      for(var j=2;j<n;j++){
        if(n % j == 0){
          return false
        }
      }
      return true
    }
    console.log(zhiNum(1,100)).
    

    3、冒泡排序。

    var brr = [1, 344, 55, 34, 23, 2, 67, 82] //创建一个数组
    function maoPao(arr) {
      var l = arr.length; // 设置一个长度;
      for (var i = 0; i < l - 1; i++) { // 变量i为坐标,获取数组中数值,所以是l-1为坐标的长度;
        for (var j = 0; j < l - 1 - i; j++) { // 变量J为
          if (arr[j] > arr[j + 1]) {
            var num = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = num
          }
        }
      }
      return arr
    }
    console.log(pao(brr))
    

    相关文章

      网友评论

          本文标题:数组方法

          本文链接:https://www.haomeiwen.com/subject/fxuakctx.html