js冒泡排序(Bubble Sort)
2015-11-13 10:35
573 查看
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
冒泡排序算法的运作如下:(从后往前)
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
看一个实例吧:
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
冒泡排序算法的运作如下:(从后往前)
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
看一个实例吧:
<span style="font-size:18px;"><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script> var arr=[3,51,35,22,66,88,54,2,3,8,6,45,65,57,57,6,765,6,7,56,756,77,657,6,76,7,6,76,7,4365]; function bubbleSort(arr){ var i=arr.length; var j; var tempEx; while(i>0){ for(j=0;j<i-1;j++){ if(arr[j]>arr[j+1]){ tempEx=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tempEx; } } i--; } return arr; } var b=bubbleSort(arr); function bb(){ document.getElementById("b").innerHTML=b; } </script> </head> <body> 3,51,35,22,66,88,54,2,3,8,6,45,65,57,57,6,765,6,7,56,756,77,657,6,76,7,6,76,7,4365 <div id="b"></div> <button onclick="bb()">点击排序</button> </body> </html> </span>
相关文章推荐
- javascript内置对象之arguments
- 大鱼吃小鱼游戏-main.js
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
- javascript:void(0)点击登录没反应怎么解决
- Javascript获取页面元素的位置
- JavaScript中的setInterval用法
- javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
- JSP引用JS文件中文乱码问题
- js判断输入的数值大于另一个数值
- 每天一篇javascript学习小结(Date对象)
- Javascript总结
- JavaScript的执行上下文
- json
- Extjs应用案例--《酒店管理系统》
- js计算时间之差
- Js中parseFloat()方法所产生的精度问题
- mac工具-解析json
- js 改变div 背景图片
- 浏览器 chrome 360等 加载本地json 或者xml 文件
- JavaScript 打印Div内容