// 100万数据 在 260 ~ 270 ms 之间function MySort( arr1 ) {    // write code here    function qsort(arr=[],l=0,r=arr.length-1){        if(l<r){            let pivot = l;            let p = l+1;            for(let i=l+1;i<=r;i++){                if(arr[i]<arr[pivot]){                    [arr[i],arr[p]] = [arr[p],arr[i]];                    p+=1;                }            }            [arr[pivot],arr[p-1]] = [arr[p-1],arr[pivot]];            qsort(arr,l,p-2);            qsort(arr,p,r);        }        return arr;    }    return qsort(arr1);}
// 100万数据 在 280 ~ 330 ms 之间var devide_Xin = function (array, start, end) {        if(start >= end) return array;        var baseIndex = Math.floor((start + end) / 2), // 基数索引             i = start,             j = end;        while (i <= j) {            while (array[i] < array[baseIndex]) {                i++;            }            while (array[j] > array[baseIndex])  {                j--;            }            if(i <= j) {                var temp = array[i];                array[i] = array[j];                array[j] = temp;                i++;                j--;            }        }        return i;    }    var quickSort_Xin = function (array, start, end) {        if(array.length < 1) {            return array;        }        var index = devide_Xin(array, start, end);        if(start < index -1) {            quickSort_Xin(array, start, index - 1);        }        if(end > index) {            quickSort_Xin(array, index, end);        }        return array;    }
// 100万数据 在 430 ~ 450 ms 之间arr.sort((a,b)=> a-b )
// 100万数据 在 470 ~ 530 ms 之间var quickSort = function(arr) {   if (arr.length <= 1) { 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)); };