js 排序 冒泡 选择 快排

Posted dhjy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
    
}

 

以上是关于js 排序 冒泡 选择 快排的主要内容,如果未能解决你的问题,请参考以下文章

8种面试经典!排序详解--选择,插入,希尔,冒泡,堆排,3种快排,快排非递归,归并,归并非递归,计数(图+C语言代码+时间复杂度)

八大排序算法C语言过程图解+代码实现(插入,希尔,选择,堆排,冒泡,快排,归并,计数)

Java版算法思想(排序)选择&冒泡&快排

Java版算法思想(排序)选择&冒泡&快排

8种面试经典排序详解--选择,插入,希尔,冒泡,堆排,3种快排及非递归,归并及非递归,计数(图+C语言代码+时间复杂度)

8种面试经典排序详解--选择,插入,希尔,冒泡,堆排,3种快排及非递归,归并及非递归,计数(图+C语言代码+时间复杂度)