js 排序 冒泡 选择 快排

function bubble ( arr ){
    for(let i=0;i < arr.length;i++){
        for(let j=0;j<arr.length -1;j++){
            if(arr[j] < arr[j+1]){
                let tmp = arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = tmp
            }
        }
    }
    
    return arr
}

function quickSort(arr){
    if(arr.length <= 1 ) return arr
    let centerIndex = Math.floor(arr.length / 2)
    let centerValue = arr[centerIndex]
    let left=[]
    let right = []
    for(let i=0;i<arr.length;i++){
        if(i === centerIndex) continue
        if(arr[i] < centerValue){
            left.push(arr[i])
        }else{
            right.push(arr[i])
        }
    }
    
    return quickSort(left).concat(centerValue).concat(quickSort(right))
    
}

function choose( arr ) {
    // write code here
    //return arr.sort()
    for(let i=0;i<arr.length-1;i++){
        let min = i
        for(let j=i+1;j<arr.length;j++){
            if(arr[j] < arr[min]){
                min = j
            }
        }
        
        let tmp = arr[i]
        arr[i] =arr[min]
        arr[min] = tmp
    }
    
    return arr
    
}
原文地址:https://www.cnblogs.com/dhjy123/p/14863844.html