美文网首页
快速排序算法

快速排序算法

作者: 康乐芳华 | 来源:发表于2018-02-28 17:24 被阅读0次
     // 快速排序算法
        // 时间复杂度为 O(n logn)
        function quickSort(arr) {
          if(arr.length < 2){ return arr };
          var pivotIndex = Math.floor(arr.length / 2);
          var pivot = arr.splice(pivotIndex, 1)[0];
          var left = [];
          var right = [];
          for(var i = 0; i < arr.length; i++){
            if(arr[i] <= pivot){
              left.push(arr[i]);
            }else{
              right.push(arr[i]);
            }
          }
          return quickSort(left).concat([pivot], quickSort(right));
        }
    
        function getRandomNumbers(min, max, count) {
          count = count || 10;
          min = min || 0;
          max = max || 10;
          var res = [];
          var temp;
          var cap = max - min;
          for (var i = 0; i < count; i++) {
            temp = Number((Math.random() * cap + min).toFixed(2));
            res.push(temp)
          }
          return res;
        }
        console.time()
        console.log(quickSort(getRandomNumbers(1, 30, 10)))
        console.timeEnd()
    

    相关文章

      网友评论

          本文标题:快速排序算法

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