初级排序算法之冒泡排序
2018-09-17 本文已影响0人
愤怒的灰机
冒泡排序
思想:先找出最大的放到最后,再找出第二大的放到倒数第二个,直到全部完成排序,具体就是不断比较相邻的两个元素,如果顺序不对就交换,从开始到结尾。
复杂度:比较次数:N^2/2,交换次数:0(最好情况)——N^2/2(最坏情况)
弊端:因为无论是反序数组还是已排序数组都需要进行n(n-1)/2次循环,因此可以通过增加一个计数器来解决:即在外层循环检查这次的内循环是否有交换元素的操作发生,如果没有说明数组排序已完成,退出循环。
代码:
![](https://img.haomeiwen.com/i13992808/6139d9b7eb968c40.png)
运行结果:
![](https://img.haomeiwen.com/i13992808/92fd7d9950602c00.png)