js冒泡排序

在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就会到数组的最后面。

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

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




以上。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容