冒泡排序
基本思想|演示|算法代码|性能
o
基本思想
冒泡排序(Bubble Sort)属于交换类排序,它通过依次比较两个相邻的元素,交换元素位置,将最大(或最小)的元素“浮”到整组数据的一端,每轮比较后缩小比较数据的长度,然后进行新一轮的比较,直到整组数据有序为止。
以数据8、5、2、4、1、7、6、3为例,以下仅展示第一轮比较思想
缩小比较长度后,按照此种排序思想重复排序操作,直到整组数据有序为止
C++标准冒泡排序算法
如果在某轮排序过程中未发生数据交换,则说明整组数据已经处于有序状态,据此我们可以对上述算法进行简单的优化,使其在某轮未发生数据交换时停止接下来的排序操作
以下代码均为冒泡排序算法代码的另外一种写法及其进行简单优化后的版本
C++代码
Python代码
Java代码
冒泡排序是一种稳定的排序算法,平均时间复杂度为O(N2),空间复杂度为O(1)
领取专属 10元无门槛券
私享最新 技术干货