程序员必会算法之冒泡排序

Posted z13545187800

tags:

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

 var  arr=[91,18,7,26,5]

//第一轮

//91 18 7 26 5    91 18

//18 91 7 26 5   91  7

//18 7 91 26  5   91 26

//18 7 26 91 5    91 5

//18 7 26 5 91

//第二轮

//18 7 26  5 91   19 7

//7 18 26 5 91    18 26

//7 18 26 5 91    26 5

//7 18  5 26 91   26 91

//7  18   5 26 91   多余

//第三轮

//7 18 5 26 91   7 18

//7 18 5 26 91  18 5

//7 18 5 26 91  

//7 18 5 26 91

//7 18 5 26 91

//第四轮

//5 7 18 26 91

//5 7 18 26 91

//5 7 18 26 91

//5 7 18 26 91

//5 7 18 26 91

外层循环控制的是比较的轮数

for(var i = 0;  i <arr.length - 1, i++ )
//内层循环比较的是相邻的值,每次能拿到最大的值放在后面
for(var  j = 0; j  < arr.length - 1 - i; j++)
//如果前面的值比后面的值大就交换

if(arr[j] > arr[j+1] )

  //交换j和j+1的值

var temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;



console.log(arr)    //arr(5,7,18,26,91)

以上是关于程序员必会算法之冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

面试必会排序算法java 实现冒泡排序讲解

算法 之 冒泡排序法

死磕算法之冒泡排序

超大:排序算法之冒泡插入和选择排序

算法介绍之冒泡排序

排序算法之冒泡排序