前端学习笔记 - 冒泡排序

冒泡排序

从小到大

function bubbleSort(arr) {
    for (var i = 1; i < arr.length; i++) {//外层循环,限制比较轮数
        for (var j = 0; j < arr.length - i; j++) {//内层循环,限制一轮中的比较次数
            if (arr[j] > arr[j + 1]) {//如果当前元素大于下一个元素,则交换两值位置
                arr[j] += arr[j + 1];
                arr[j + 1] = arr[j] - arr[j + 1];
                arr[j] -= arr[j + 1];
            }
        }
    }
    return arr;
}

var arr = [6, 8, 11, 23, 7];
console.log(bubbleSort(arr));//[6, 7, 8, 11, 23]

从大到小

function bubbleSort(arr) {
    for (var i = 1; i < arr.length; i++) {//外层循环,限制比较轮数
        for (var j = 0; j < arr.length - i; j++) {//内层循环,限制一轮中的比较次数
            if (arr[j] < arr[j + 1]) {//如果当前元素小于下一个元素,则交换两值位置
                arr[j] += arr[j + 1];
                arr[j + 1] = arr[j] - arr[j + 1];
                arr[j] -= arr[j + 1];
            }
        }
    }
    return arr;
}

var arr = [6, 8, 11, 23, 7];
console.log(bubbleSort(arr));//[23, 11, 8, 7, 6]
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页