0. 前言
冒泡排序是一种经典且基础的排序算法。它虽然在效率上并非最优,但对于初学者理解排序的基本概念和逻辑有着重要的意义。
1. 冒泡排序的基本思想
冒泡排序的基本思想是通过反复比较相邻的元素并交换它们(如果顺序错误),就像水中的气泡一样,较小的元素会逐渐“浮”到数组的前端,较大的元素则“沉”到数组的后端。
我们来看一个例子:
待排序数组:【8 7 4 3 2】 现在需要升序排列
第一趟排序:
第1次先将最前面的两个数8和7对调。第2次将第2和第3个数(7和4)对调…如此共进行4次,得到7 4 3 2 8的顺序,可以看到:最大的数8已“沉底”,成为最下面一个数,而小的数“上升”。最小的数2已向上“浮起”一个位置。经过第1趟(共4次比较与交换)后,已得到最大的数8。如图所示
然后进行第2趟比较,对剩下的前面4个数(7,4,3,2)进行新一轮的比较,使第二大