JS中的排序算法(-)冒泡排序

Posted

tags:

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

 

冒泡排序算法

例子:10,8,9,6,4,20,5

第一轮  1)10>8  交换数据 得到:8,10,9,6,4,20,5

             2)10>9  交换数据 得到:8,9,10,6,4,20,5

             3)10>6  交换数据 得到:8,9,6,10,4,20,5

             4)10>4  交换数据 得到:8,9,6,4,10,20,5

             5)10<20  不交换数据 得到:8,9,6,4,10,20,5

             6)20>5  交换数据 得到:8,9,10,6,4,5,20

结果:8,9,10,6,4,5,20

第二轮  1)8<9  不交换数据 得到:8,9,10,6,4,5,20

             2)9<10  不交换数据 得到:8,9,10,6,4,5,20

             3)10>6  交换数据 得到:8,9,6,10,4,5,20

             4)10>4  交换数据 得到:8,9,6,4,10,5,20

             5)10>5  交换数据 得到:8,9,6,4,5,10,20

结果:8,9,6,4,5,10,20

第三轮  1)8<9  不交换数据 得到:8,9,6,4,5,10,20

             2)9>6  交换数据 得到:8,6,9,4,5,10,20

             3)9>4  交换数据 得到:8,6,4,9,5,10,20

             4)9>5  交换数据 得到:8,6,4,5,9,10,20

 结果:8,6,4,5,9,10,20

第四轮  1)8>6  交换数据 得到:6,8,4,5,9,10,20

             2)8>4  交换数据 得到:6,4,8,5,9,10,20

             3)8>5  交换数据 得到:6,4,5,8,9,10,20

  结果:6,4,5,8,9,10,20

第五轮  1)6>4  交换数据 得到:4,6,5,8,9,10,20

             2)6>5 交换数据 得到:4,5,6,8,9,10,20

    结果:4,5,6,8,9,10,20

第六轮  1)4<5  不交换数据 得到:4,5,6,8,9,10,20

分析一下得出JS冒泡排序算法如下

function aa(data){
  var i=0;
  while(i<data.length-1){
    for(var j=0;j<data.length-i-1;j++){
      if(data[j]>data[j+1]){
        var x=data[j];
        data[j]=data[j+1];
        data[j+1]=x;
      }
    }
    i++;
  }
}
  var data=[10,8,9,6,4,20,5];
  console.log(‘before:‘+data);
  aa(data);
  console.log(‘after:‘+data);
   

 


















以上是关于JS中的排序算法(-)冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

简单排序算法(冒泡排序插入排序选择排序)JS实现

冒泡排序算法和简单选择排序算法的js实现

[ 转载 ] js十大排序算法:冒泡排序

js冒泡排序算法改进

js排序算法总结——冒泡,快速,选择,插入,希尔,归并

js算法初窥01(排序算法01-冒泡选择插入)