我爱编程

js冒泡排序

2018-04-03  本文已影响0人  _duck不必

在js的学习中,总会遇到各种各样的算法,今天来详解下js的冒泡排序。

大致原理:

        循环整个数组,如果前面的数值比后面的数值大,则将这两个数字的位置调换。

代码

最后的结果

然后我们发现,数组按从小到大依序排列。

现在看着代码是不是有点懵逼,敲黑板,接下来仔细看:

[8,99,3,88,55,76,21,44]

我们的数组原来是这样的,然后我们只让它循环一次,看看会发生什么:

最后得到结果:

原数组:

我们把两个数组对比一下,发现99到了数组的最后面。

我们来脑补一下循环过程。当   j=0  时 , arr[0]=8   而    arr[1]=99   ,然后两个相比较

8并不必99大,所以没什么变化。

当   j=1  时,arr[1]=99   而  arr[2]=3 , 然后两个相比较   99比3大,所以两个位置互换。

而数组就会变成   

然后顺序执行下去,因为99是最大的一个数,所以当一次循环完成之后,99就会到数组的最后面。

现在是不是感觉思路清晰多了。

说到这里,规律就清楚了,每次将剩下数组里面最大的一个数排到最后面。

以上。

上一篇 下一篇

猜你喜欢

热点阅读