zoukankan      html  css  js  c++  java
  • JavaScript冒泡排序

    冒泡排序的原理

    比方说有五个数字54321,要按从小到大排列,首先比较前两个,就是5和4,如   
    果第一个小于第二个,不操作,如果第一个大于第二个,那么交换两者的位置,即
    变成45321,然后比较第二个和第三个,同理变成43521,然后第三个和第四个,
    第四个和第五个,这样一次循环下来,变成43215
    
    第一个for,应该指的是这个数组所拥有的元素个数-1,因为如果只有一个数的话,
    就不需要比较,如果有两数的话,就需要比较1趟,有三个数的话,需要比较2趟,
    所以第一个for的次数就是元素个数num.length-1。
    第二个for,可以理解为第i趟时,只需要对剩余的num.length-i的元素进行排序。
    比如一个数组有3个数时,第一趟,只需要比较2次,第二趟,只需要比较1次,
    所以是num.length-i。
    
    代码如下:
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		<script type="text/javascript">
    			var num = [2, 82, 67, -34, 0, 65, 12]
    
    			function print(arr) {
    				for (var i = 0; i <= num.length -1; i++) { //外层控制轮数
    					for (var j = 0; j < num.length - 1 -i; j++) { //内层循环  控制比较的次数
    						if (num[j] > num[j + 1]) {
    							var temp = num[j] //定义一个变量,将两个数最大的值赋值给temp
    							num[j] = num[j+1]
    							num[j+1] =temp
    						}
    					}
    				}
    				document.write(num)
    			}
    			print()
    		</script>
    	</body>
    </html>
    
    
  • 相关阅读:
    第四周JSP作业
    jsp第二次作业
    3.4软件管理与测试作业
    jsp3月3日作业
    课后listview作业
    安卓sql
    activity带数据跳转
    answers
    阿里云ESC无法使用python发送邮件的问题
    Ubuntu 更改时区
  • 原文地址:https://www.cnblogs.com/pp-yang/p/12104550.html
Copyright © 2011-2022 走看看