最简单的排序算法之一冒泡排序----js实现
2017-02-15 11:26
513 查看
1. 算法步骤
比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
2. 动图演示
![](https://sort.hust.cc/res/bubbleSort.gif)
3. 什么时候最快
当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序有何用啊)。4. 什么时候最慢
当输入的数据是反序时(写一个 for 循环反序输出数据不就行了,干嘛要用你冒泡排序呢,我是闲的吗)。5. JavaScript 代码实现
function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j+1]) { // 相邻元素两两对比 var temp = arr[j+1]; // 元素交换 arr[j+1] = arr[j]; arr[j] = temp; } } } return arr; }
相关文章推荐
- 基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序
- 冒泡排序、选择排序、插入排序 算法实现(C++)
- 转载:yangsen600的C语言实现的简单排序算法汇总
- VC++实现选择排序算法简单示例
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- 用JAVA实现排序算法之一:冒泡排序
- 简单排序算法实现——堆排序
- 内部排序冒泡排序、插入排序、选择排序、快速排序的算法和PHP实现
- 算法导论之插入排序,选择排序,归并排序,冒泡排序,希尔排序,堆排序,快速排序的c语言实现
- JAVA之冒泡排序与简单选择排序的实现
- 几种常用的排序算法:插入排序、冒泡排序、选择排序的算法及C++实现
- 快速排序,冒泡排序,直接选择排序的算法实现
- PHP算法学习之“简单的交换排序”,“冒泡排序”以及“改进后的冒泡排序”
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序
- 简单选择排序的算法实现
- 查找""排序""简单数学计算" "简单算法"[Java实现](数据结构和算法)(复习)(持续更新
- 冒泡排序、选择排序、插入排序 算法实现(C++)
- 实现一个简单的c++ list容器(含sort排序 链表归并算法实现)
- 五、排序算法之简单算法——冒泡排序、简单选择排序和直接插入排序
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序