深入浅出JS冒泡排序

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			/* 自定义一个冒泡排序函数 */
			var maxNum ={
				maxNumber: function() {
					//有几个数需要比较,2个数比较1次,3个数比较两次,n个数比较n-1次,
					//所以循环条件是arguments.length - 1。
					for (var i = 0; i < arguments.length - 1; i++) {
						//每个数需要比较几次,第1个数比较数组长度-1次,第2个数比较数组长度-2次,
						//第n个数比较数组长度-n,又因为数组下标从0开始,所以循环条件是arguments.length - 1 - i。
						//每一轮比较都使得当前循环内最大的一个数移到数组下标arguments.length - 2 - i的位置。
						for (var j = 0; j < arguments.length - 1 - i; j++) {
							if (arguments[j] > arguments[j + 1]) {
								//临时变量接收大的值;
								var temp = arguments[j];
								//把小的值放到前面;
								arguments[j] = arguments[j + 1];
								//把大的值放到后面。
								arguments[j + 1] = temp;
							}
						}
					}
					return arguments;
				}
			}
			//调用方法
			var a=maxNum.maxNumber(12,10,71,18);
			for (var i = 0; i < a.length; i++) {
				console.log('循环输出数组元素:' + a[i]);
			}
		</script>
	</head>
	<body>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_39706570/article/details/106754911