基本概念:
冒泡排序(bubble sort)并没有什么特殊的价值,它是一种相对较慢的排序。
冒泡排序包括一个简单的双重for循环。第一次内部for循环从记录数组的底部比较到顶部,比较相邻的值,如果低序号的值比高序号的值大,则将二者交换顺序,这个过程将使它像个气泡一样被推到数组的顶部。第二次再重复调用上面的过程,但是既然知道最大元素第一次就被排到了数组的最上面(数组尾),因此就没有再比较最上面两个元素的必要了。
冒泡排序的时间复杂度为O(n²),时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况,不能简单的用来计算精确值。
需要注意的是选择排序和冒泡排序是两个不同的概念,网上很多文章是混淆了这两种算法。
过程如图示:
简单例子: