本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!
作者| 慕课网精英讲师 JdreamZhang
冒泡排序(Bubble Sort),是计算机科学与技术领域中较为简单的一种排序算法。
它重复地遍历要排序的序列,会依次比较两个相邻的元素,如果发现两个相邻的元素顺序错误就把它们交换过来。遍历序列的工作会重复地进行直到没有相邻的元素需要交换位置,也就是说序列的排序工作已经完成。
冒泡排序的算法名称的由来就是因为在排序的过程中,按照排序规则(升序或者降序),越小或者越大的元素会经过交换之后慢慢 “浮” 到序列的顶端,就如同水中的气泡一样最终会浮到顶端一样,所以起名为 “冒泡排序”。
1. 冒泡排序过程
在介绍完冒泡排序之后,我们一起来看一下冒泡排序的实现步骤具体是什么样的吧。这里我们假设待排序的序列为 [9,2,11,7,12,5],我们按照从小到大的序列进行排序。
1.1 算法步骤
- 步骤 1:
比较待排序序列中相邻的两个元素,如果发现左边的元素比右边的元素大,则交换这两个元素;
- 步骤 2:
每一对相邻的两个元素重复步骤 1 的动作,从左至右依次执行;
- 步骤 3:
针对待排序序列中除了最右边的一个元素之外,重复步骤 1,