冒泡排序!

冒泡排序时什么,是一种最基本的交换。之所以叫做冒泡排序,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。好比比身高,要按照从左到右依次从最低到最高排列。冒泡排序原理,两个两个相比看看谁个子高排右边,每次比完一轮除去那一轮最高个子的人直到比完

假如有一组数,16,25,9,90,23    5个数

         0第一轮:16 9 25 23  90  比了 4次=5-1-0
        1第二轮:9 16 23 25       比了3次=5-1-1
        2第三轮:9 16 23          比了 2次=5-1-2
        3第四轮:9 16             比了 1次=5-1-3

从左到右依次两个相比第一轮第一次,16比25,小不用换位置,第二次,25比9大25需要和9交换位置,第三次,25和90比较,比90小不用换位置,第四次,90和23比较,90大于23那么90需要和23交换位置。

这是比完了第一轮但是还有几个数字没有按照从小到大排序所以需要再次排序

但是现在已经找到最大的值90,所以第二次就不需要在将90在比较了

第二轮第一次16比9大,所以16需要和9交换位置,第二次,16和23进行比较发现16没有23大所以不需要交换位置,第三次,23和25比较,23比25小所以不用交换位置。

依此类推,直到最后从小到大排序。

现在来看一下这个代码

var array=[16,25,9,90,23];
			//外层控制轮数
			for (var i =0; i <array.length-1; i++) {
				//内层控制比较的次数
				for(var j=0;j<array.length-1-i;j++){
					//两两相比
					if(array[j]>array[j+1]){
						var temp=array[j];
						array[j]=array[j+1];
						array[j+1]=temp;
					}
				}
			}
			console.log(array);

用一个加单口诀来讲:

           n个数字来排队,两两相比小靠前
           外层循环n-1,内层循环n-1-i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值