冒泡加快排

var arr =[1,4,5,2,3]
function sort(arr){
    let len = arr.length -1
    for(let i=0;i<len;i++){
        for(let j=0;j<len-i;j++){
            if(arr[j]>arr[j+1]){
                let swap = arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = swap
            }
        }
    }
    return arr
}
 // console.log(sort(arr))




 function fastSort(arr){
    if(arr.length<=1){
        return arr
    }
    let middle  = Math.floor(arr.length/2);
    let left =[]
    let right =[]
    let middleData = arr[middle]
    arr.splice(middle,1)

    for(let i=0;i<arr.length;i++){
        if(arr[i]>=middleData){
            right.push(arr[i])
        }
        if(arr[i]<middleData){
            left.push(arr[i])
        }

    }
    return [...fastSort(left),middleData,...fastSort(right)]
    // return arr

 }

  console.log(fastSort(arr))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容