js冒泡排序

201702151352236.gif

一、算法步骤
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
3.重复1、2的步骤,排除最后最大的一个数,它不必在比较了。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

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;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 冒泡排序 比较所有相邻的两个项,如果第一个比第二个大,则交换它们。元素项向上移动至正确的顺序,就好像气泡升至表面一...
    彬彬_不安分的人生阅读 1,092评论 0 1
  • 冒泡排序: 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中...
    翔ni阅读 890评论 0 0
  • 冒泡排序 1.比较相邻的元素,如果前一个比后一个大 (升序排列),调换位置。2.对每一对相邻的元素进行重复的工作,...
    俗人彭jin阅读 2,817评论 0 0
  • title: Js冒泡排序&选择排序date: 2018-05-03 23:00:00tags: 基础排序冒泡法c...
    饥人谷_黄洪涛阅读 4,425评论 0 6
  • 冒泡排序是一种简单的排序算法,这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 基本思路: 1...
    云高风轻阅读 1,527评论 0 2