算法 day5-冒泡排序

冒泡排序是通过两两比较 和进行交换 进行排序的
正是因为这种排序算法的每一个元素都可以像小气泡一样,根据自身大小,一点一点向着数组的一侧移动。
//排序不是比较大小。
//排序的本质是比较和交换。

这里是引用
在这里插入图片描述
在这里插入图片描述

到最后所有元素都是有序的了,这就是冒泡排序的整体思路。

var arr = [4,1,6,9,3,2,8,7];
function compare(a, b) {//比较之后需要得出是否需要交换
    if (a > b) return true;
    else return false;
}

function exchange(arr, a, b) {//将数组中ab位置里的值进行交换
    var temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
}

function sort(arr) {//这个sort可以是冒泡排序也可以是选择排序也可以是其它排序。
    for (var i = 0 ; i < arr.length ; i ++) {
        for (var j = 0 ; j < arr.length - 1 - i ; j ++) {
            if (compare(arr[j], arr[j + 1])) {
                exchange(arr, j, j + 1);
            }
        }
    }
}
sort(arr);
console.log(arr);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值