冒泡排序

冒泡排序

冒泡排序是排序的一种

主体思路:两两之间相互比较,大的往后面排,比较完毕之后最大的数就出来了,这是第一趟,然后重复这个操作就可以咯

依此类推 只需要比较数组的长度 - 1 次

逻辑推理过程:
	1.核心思想(从小到大): 数组的两两之间进行比较 大的往后排 重复这个操作  就可以实现排序
	2.求出一个最大数 (八个数)  需要比较几次 (7次)
	3.需要比较多少轮(八个数)  最终排序完成 (7轮)

推理开始:
	1. 先使用for循环求出一个最大数 重复复制这个for循环7次可以完成排序
	2. 重复7次这样的for循环过于冗余,所以使用双层for循环嵌套 (注意两次的for循环不要出现重复)
	3. for循环的条件写死咯,可以使用length属性替换 (< arr.length - 1) 原因就是八个数 只需要比较7次
	4. 第一次的for循环循环7次,求出一个最大值,下一次的for循环的次数可以对应减少一次,因为已经求出了一个最大值咯,所以可以得到一个基本规律就是轮数的增加意味这这一轮的次数在不断减少

var arr = [6, 5, 3, 1, 8, 7, 2, 4];
var tang = 0;
var ci = 0;

for (var j = 0; j < arr.length - 1; j++) {
	tang++;
	for (var i = 0; i < arr.length - 1 - j; i++) {
        ci++;
        // console.log(i);
        // 两两之间 => arr[i] arr[i + 1]
        // 两两之间进行比较
        if (arr[i] > arr[i + 1]) {
        // 前面的大于后面的 进行交换
        // 交换两个变量的值
        	var temp = arr[i];
        	arr[i] = arr[i + 1];
        	arr[i + 1] = temp;
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值