数组去重 && 快速排序

Posted smile-fanyin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组去重 && 快速排序相关的知识,希望对你有一定的参考价值。


 var arr0 = [1,3,3,3,4,4,4,4,5,5];
var arr1 = [10,9,2,5,7,34,65,48,90,103];
        var newArr=[];
       /*  for(var i=0;i<arr.length;i++){
            newArr.indexOf(arr[i])<0 && (newArr.push(arr[i]));
        } */
        // newArr = Array.from(new Set(arr));

        // 快速排序
        function quikSort(arr){
            if(arr.length<=1)return arr;
            var midIndex = Math.floor(arr.length/2);
            var midVal = arr.splice(midIndex,1)[0];

            var leftArr = [];
            var rightArr = [];
            for (var val of arr){
               if(val<midVal){leftArr.push(val)}else{rightArr.push(val)}
            }
            /* for(var k=0;k<arr.length;k++){
                if( arr[k]<midVal ){
                    leftArr.push(arr[k])
                }else{
                    rightArr.push(arr[k])
                }
            } */
            return quikSort(leftArr).concat(midVal,quikSort(rightArr));
        }
        console.log( quikSort(arr1) );

 

以上是关于数组去重 && 快速排序的主要内容,如果未能解决你的问题,请参考以下文章

算法训练——数组排序去重

归并排序 && 快速排序

归并排序 && 快速排序

js数组快速排序/去重

去重算法,简单粗暴&优化版

冒泡排序快速排序数组去重