JS经典算法之冒泡排序算法
来源:互联网 发布:spring mybatis打印sql 编辑:程序博客网 时间:2024/05/16 11:41
冒泡排序算法的运作如下:(从后往前)
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
示例:
冒泡排序的原理是这样的,比方说有五个数字54321,要按从小到大排列; 首先比较前两个,就是5和4,如果第一个小于第二个,不做操作,如果第一个大于第二个,那么交换二者的位置,即变成 45321,然后比较第二个和第三个,交换位置,变成43521,然后第三个和第四个,第四个和第五个,这样一次循环下来,变成43215 所以,一层循环的效果就是挑出最大的一个数字5,冒泡到最后面。但是还要挑出第二大,第三大的数字,等等。所以一层循环根本就不够用,必须再套一层才行。像这个例子,五个数字,起码要进行四轮循环才行。至于为什么要this.length-i,是因为第一次比较五个数字,第二个只要比较前四个就行了,第五个肯定是最大的了。。var array = [5, 4, 3, 2, 1];var temp = 0;for (var i = 0; i < array.length; i++){for (var j = 0; j < array.length - i; j++){if (array[j] > array[j + 1]){temp = array[j + 1];array[j + 1] = array[j];array[j] = temp;}}}console.log(array);
0 0
- JS经典算法之冒泡排序算法
- 经典排序算法之冒泡排序算法
- 经典算法之冒泡排序
- 经典算法之冒泡排序
- 经典算法之冒泡排序
- C--经典算法之排序---冒泡排序
- 经典算法学习:排序之冒泡排序
- 经典排序算法之冒泡排序
- 经典排序算法之冒泡排序
- 经典排序算法之冒泡排序
- 经典排序算法之冒泡排序
- 经典排序算法之------冒泡排序
- Java经典排序算法之冒泡排序
- 经典排序算法之冒泡排序
- 冒泡---经典排序算法
- 经典算法---冒泡排序
- 经典算法---冒泡排序
- 【经典算法】:冒泡排序
- 2016.11.4日-第六届Oracle技术嘉年华与你相约北京
- 地图位置搜索
- Dirb Dir Bruteforce
- android极光推送
- phpMyAdmin配置文件现在需要一个短语密码的解决方法
- JS经典算法之冒泡排序算法
- 单元测试1-为什么需要单元测试
- Android手机屏幕适配知识整理
- 如何监测谁用了SQL Server的Tempdb空间?
- 签名认证算法Digest
- 深入理解dvm和jvm
- php try catch捕获错误
- iOS中电话号码和邮箱判断
- EXTjs入门大全