动画 | 什么是冒泡排序?
冒泡排序 冒牌排序算法时间复杂度最坏的情况是,最好的,说明冒泡排序是可以优化的,就看你有没有去发现。 冒泡排序算法的过程是两个元素比较的大小,是典型的交换排序算法。快速排序算法和鸡尾酒排序算法也属于交换排序。我这篇介绍完之后下一篇章会介绍快速排序和鸡尾酒排序。所以要自己学会关注哦,给这个公众号标上星标,不会迷失下一篇好文。 排序方法 比较相邻的元素,判断是否符合要求,如果不符合就交换位置来达到排序的目的。 对每一对相邻元素做相同的工作,从开始第一对到结尾的最后一对,一次遍历之后,最后一个元素是最大(小)的数。 第二次遍历重复以上操作,因为最后一个元素已经确定位置,减少一次计算。以此类推。 示例 通过一个示例来理解基本的冒泡排序算法,假设当前我们有一个数组a,里面元素是:5,6,1,7,2,4,3 初始状态 视频动画 Code Result 初始状态[5, 6, 1, 7, 2, 4, 3] 发生交换[5, 1, 6, 7, 2, 4, 3] 发生交换[5, 1, 6, 2, 7, 4, 3] 发生交换[5, 1, 6, 2, 4, 7, 3] 发生交换[5, 1, 6, 2, 4, 3, 7] 1次遍历:[5, 1, 6, 2, 4, 3, 7] 发生交换[1, 5, 6, 2, 4, 3, 7] 发生交换[1, 5, 2, 6, 4, 3, 7] 发生交换[1, 5, 2, 4,