冒泡排序
什么是冒泡排序?
冒泡排序的英文Bubble Sort,是一种最基础的交换排序。之所以叫做冒泡排序,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。
冒泡排序的原理:
每一趟只能确定将一个数归位。即第一趟只能确定将末位上的数归位,第二趟只能将倒数第 2 位上的数归位,依次类推下去。如果有 n 个数进行排序,只需将 n-1 个数归位,也就是要进行 n-1 趟操作。
而 “每一趟 ” 都需要从第一位开始进行相邻的两个数的比较,将较大的数放后面,比较完毕之后向后挪一位继续比较下面两个相邻的两个数大小关系,重复此步骤,直到最后一个还没归位的数。
2、冒泡排序到底是如何排序的呢?
下面通过一个动图来看一看冒泡排序到底是怎么样移动的
具体是如何移动的呢?
(1)起始时,左下标指向第一个石子,右下标指向第二个石子,然后比较
(2)然后左右下标同时向右移动,再次比较
(3)第一趟结束之后,最大的石子就移动到了最右边
(4)接下来就从剩下 3 个没排好序的石子中继续选出最大的,规则和上面一样
(5)下面给出这 4 个石子完整的演示过程
3、时间复杂度
由上图可知,4 个石子的时候排完序需要 3 趟,第一趟需要比较3次,第二趟需要比较2次,第三趟需要比较1次,那一共比较了 3 + 2 + 1 次;
幻想毫无价值,计划渺如尘埃,目标不可能达到。这一切的一切毫无意义——除非我们付诸行动。