[算法研究]の冒泡算法--javascript实现

很长时间没接触算法了,而且以前受某个老湿的误导,一直写的不是正规的冒泡排序,最近才发现,由于在做一些基础算法的了解,为了理清以下再巩固下冒泡算法:

冒泡排序算法的运作如下:(顺序可以从后往前或从前往后,排序只能是正序或倒序)

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。

  3. 针对所有的元素重复以上的步骤,除了最后一个。

  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

平均时间复杂度O(n²)

代码写起来再熟练,感觉还是得清楚如何排序的,于是做了一个javascript配合网页的排序简图说明

外层为最多的一轮循环次数

内层为从哪个方向开始到哪个地方结束

四种写法:

[算法研究]の冒泡算法--javascript实现_第1张图片


就写法来说,一般为第一种和第四种比较不容易出错也比较常规。



转帖请注明出处 :http://my.oschina.net/freddon/blog/527563


你可能感兴趣的:(冒泡排序,sort,Bubble,sagosoft,freddon)