在JavaScript中数字的冒泡排序的讲解

🤞 点击可跳转个人主页

🐱‍🏍发现的一个宝藏网站

😁💋给兄弟们安利一个最近发现的很好刷题学习网站,上面包含了很多东西,有面试相关的题目,各厂的大题,还有学习的知识点,甚至还有专项练习 ,是一个很值得我们去练习刷题的好网站点击我就可以到哦

 

目录

首先第一步,我们先看一下什么是冒泡排序 

第二步:代码演示,先上框架

第三步:先定义一个数组

第四步:第一层循环

 第五步:内层for循环

 第六步:进行判断

 第七步:交换变量

 最后:输出


首先第一步,我们先看一下什么是冒泡排序 

所谓冒泡排序就是将一个数组中的元素按照你代码逻辑是从小到大,还是从大到小来排列,两两之之间依此进行排序比较 ,大的放在后面,在和后面的继续比较

第二步:代码演示,先上框架

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
	</head>

	<body>
		<script>

		</script>
	</body>

</html>

第三步:先定义一个数组

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
	</head>

	<body>
		<script>


			var sex = [9, 55, 2, 12, 22, 5]


			
		</script>
	</body>

</html>

因为是两两之间进行排序,所以如果循环的话,那么循环次数是不是应该就是数组的长度-1,

第四步:第一层循环

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
	</head>

	<body>
		<script>


			var sex = [9, 55, 2, 12, 22, 5]


			for (var i = 0; i < sex.length - 1; i++) {
				
				}
			}
		</script>
	</body>

</html>

 这里的i要从0或1开始都可以,他控制的只是循环排序次数,里面的for循环必须是0开始,因为数组下标是0开始

 第五步:内层for循环

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
	</head>

	<body>
		<script>


			var sex = [9, 55, 2, 12, 22, 5]


			for (var i = 0; i < sex.length - 1; i++) {
				for (var j = 0; j < sex.length - 1; j++) {
					
						
					
				}
			}
		</script>
	</body>

</html>

内层for循环的话也是一样的判断条件。只不过这里的话可以优化一下代码执行次数

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
	</head>

	<body>
		<script>


			var sex = [9, 55, 2, 12, 22, 5]


			for (var i = 0; i < sex.length - 1; i++) {
				for (var j = 0; j < sex.length - 1-i; j++) {
					
				}
			}console.log(sex);
		</script>
	</body>

</html>

 第六步:进行判断

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
	</head>

	<body>
		<script>


			var sex = [9, 55, 2, 12, 22, 5]


			for (var i = 0; i < sex.length - 1; i++) {
				for (var j = 0; j < sex.length - 1; j++) {
					if (sex[j] > sex[j + 1]) {
							
						
					}
				}
			}
		</script>
	</body>

</html>

这里我们添加一个判断条件,如果说第一个数大于第二个数,那么我们就把第一个数与第二个数进行一个交换,这里的话就要用到之前说的交换变量

第七步:交换变量

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
	</head>

	<body>
		<script>


			var sex = [9, 55, 2, 12, 22, 5]


			for (var i = 0; i < sex.length - 1; i++) {
				for (var j = 0; j < sex.length - 1; j++) {
					if (sex[j] > sex[j + 1]) {
							var temp = sex[j + 1]
							sex[j + 1] = sex[j]
							sex[j] = temp
						
					}
				}
			}
		</script>
	</body>

</html>

 这样的话我们就实现了效果,接下面我们输出一下看看

最后:输出

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
	</head>

	<body>
		<script>


			var sex = [9, 55, 2, 12, 22, 5]


			for (var i = 0; i < sex.length - 1; i++) {
				for (var j = 0; j < sex.length - 1; j++) {
					if (sex[j] > sex[j + 1]) {
							var temp = sex[j + 1]
							sex[j + 1] = sex[j]
							sex[j] = temp
						
					}
				}
			}console.log(sex);
		</script>
	</body>

</html>

 

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值