导入
冒泡排序简介
冒泡排序通过交换顺序错误的元素来对数组进行排序。
算法从数组的第一个元素开始,一直遍历到最后一个元素,持续进行这一过程,直到有一次完整的遍历中没有发生任何交换为止!这种不断“上浮”的效果就像气泡一样,因此得名“冒泡排序”。
我们希望将数组 [4, 2, 1, 3] 按升序排列。
-
我们从数组的第一个元素 4 开始。下一个元素 2 比 4 小,说明顺序错误,两者交换位置,然后继续处理下一个元素。
-
由于发生了交换,当前元素仍然是 4。我们将其与下一个元素 1 比较,发现 1 更小,于是它们交换。
-
再次发生交换后,当前元素仍为 4。我们将其与下一个元素 3 比较,3 更小,因此交换。此时已到达数组末尾。由于本次遍历中有交换发生,说明数组尚未完全有序,因此需要重新从第一个元素开始新一轮遍历。
-
当前元素 2 比 1 大,两者交换。
-
当前元素 2 比 3 小,无需交换。
-
当前元素 3 比 4 小,无需交换。虽然此时数组看起来已经有序,但算法只有在一次完整遍历中没有任何交换发生时才会结束。
-
当前元素 1 比 2 小,无需交换。
-
当前元素 2 比 3 小,无需交换。
-
当前元素 3 比 4 小,无需交换。
-
一次完整的遍历中没有发生任何交换!说明数组已成功排序,冒泡排序算法结束返回。