javascript中五种常见的排序之冒泡排序

Posted kongvv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中五种常见的排序之冒泡排序相关的知识,希望对你有一定的参考价值。

 

1、冒泡排序

  冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。如果两个元素相等,是不会再交换的。
  数组中有 N 个数,比较每相邻两个数,如果前者大于后者,就把两个数交换位置。
  第一轮就可以选出一个最大的数放在最后面;
  第二轮选出前N-1个数中最大的数放在N-1位置上;
  第三轮...
  那么经过 n-1(数组的 length - 1) 轮,就完成了所有数的排序。
  这样就理解为什么外层for循环里 i<length-1,因为循环n-1次;
  内层for循环是第i次循环的时候,数组后面已经固定了i个数值,不需要再和其比较,故length-1-i;

  冒泡排序总的平均时间复杂度为O(n^2);

  javascript版代码如下:

  

 1 var bubbleSort = function(arr)
 2     
 3         for(var i = 0;i<arr.length-1;i++)
 4             for(var j = 0;j<arr.length-1-i;j++)
 5                 if(arr[j]>arr[j+1])
 6                     var k = arr[j];
 7                     arr[j] = arr[j+1];
 8                     arr[j+1] = k;
 9                 
10             
11         
12         console.log(arr);
13         
14     
15     bubbleSort([2,5,6,3,4,6,64,34,69]);
 

 

 

 

以上是关于javascript中五种常见的排序之冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

常见的排序之冒泡排序

常见排序算法之冒泡排序

常见排序之冒泡排序

排序算法之冒泡排序

冒泡排序之javascript

java常见数据算法_冒泡排序