排序算法之冒泡排序(BubbleSort)

冒泡排序:数组前后两个元素进行比较,如果前面的元素大于后面的元素就发生交换,第一次遍历数组,最大的就跑到了最前面

优化:检测到没有发生交换时,说明已经排好了顺序,直接返回数组即可


function BubbleSort (originalArray) {
    let temp, swapped 
    //进行浅层复制
    const array = [...originalArray]  
    for(let i = 1; i < array.length; i++) {
       // 标记是否发生了交换
       swapped = false 
       for(let j = 0; j < array.length - i;j++) {
           if(array[j] > array[j + 1]) {
               temp = array[j + 1]
               array[j + 1] = array[j]
               array[j] = temp
               swapped = true
           }
       }
       if(!swapped) {
           return array
       }
    }
    return array
}

猜你喜欢

转载自blog.csdn.net/coderMozart/article/details/81333090
今日推荐