冒泡排序
来源:互联网 发布:银河证券手机炒股软件 编辑:程序博客网 时间:2024/06/08 04:49
冒泡排序
1.最初版:
<script type="text/javascript"> var aArr = [19,2,12,3,78,520]; for (var j = 0;j < aArr.length - 1;j ++) { //aArr.length-1是为了保证i+1时数组不越界 for (var i = 0;i < aArr.length - 1;i ++) { if (aArr[i] > aArr[i+1]) { var t = aArr[i]; aArr[i] = aArr[i+1]; aArr[i+1] = t; } } }</script>
2.改进版-不比较每趟的最后一个数
<script type="text/javascript">//冒泡排序2改进版 var aArr = [19,2,12,3,78,520]; for (var j = 0;j < aArr.length - 1;j ++) { for (var i = 0;i < aArr.length - 1 - j;i ++) { if (aArr[i] > aArr[i+1]) { var t = aArr[i]; aArr[i] = aArr[i+1]; aArr[i+1] = t; } } }</script>
3.把冒泡排序封装成函数,可以通过compare函数进行正序或者逆序的选择
<script type="text/javascript"> //冒泡排序3改进版 function bubbleSort(aArr,func) { for (var i = 0;i < aArr.length - 1;i ++) { for (var j = 0;j < aArr.length - 1;j ++) { if (func(aArr[i],aArr[i+1]) > 0) { var t = aArr[i]; aArr[i] = aArr[i+1]; aArr[i+1] = t; } } } } function compare(x,y) /选择排序规则 { return x - y; } var aArr = [19,2,12,3,78,520]; console.log(aArr); bubbleSort(aArr,compare); console.log(aArr); </script>
阅读全文
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 工具使用:centOS上的防火墙
- linux网络编程之套接字编程
- 设计模式之外观模式
- leetCode--linked-list-cycle-ii
- android关于LinearLayout的坑
- 冒泡排序
- Django中中间件系列之十四
- Android studio设置activity主题程序崩溃解决办法
- Servlet中的文件上传
- java中重载与重写的区别
- Eclipse中修改注释中@author
- MyBatis集成log4j
- Android NDK环境搭建
- LeetCode-Minimum Depth of Binary Tree