网络宝典
第二套高阶模板 · 更大气的阅读体验

冒泡排序方法原理:一看就懂的排序算法入门

发布时间:2025-12-09 13:48:40 阅读:192 次

冒泡排序方法原理:像水泡一样慢慢浮上来

你有没有试过整理一排乱序的书?比如按页数从少到多排列。如果每次只允许交换相邻的两本书,你会怎么操作?其实,这就是冒泡排序的核心思路。

冒泡排序(Bubble Sort)是一种基础又直观的排序算法。它的名字来源于整个过程中,较大的数值像“气泡”一样,一步步往后移动,最终“浮”到数组末尾。

它是怎么“冒泡”的?

假设你手里有一串数字:5, 3, 8, 1, 4。目标是把它们从小到大排好。

冒泡排序的做法很简单:从第一个数开始,比较相邻两个数的大小。如果前面的比后面的大,就交换它们的位置。然后继续看下一组相邻的数,直到走到最后。

这一轮走完,最大的那个数就会被“推”到最后一个位置,就像水底的大气泡慢慢升到水面。

接着再从头来一遍,这次只需要处理前 n-1 个数。重复这个过程,每一轮都会确定一个“当前最大值”的位置,直到所有数都排好。

举个生活中的例子

想象你在排队买奶茶,队伍一开始是乱的,大家身高不一。你想让队伍按身高从矮到高排。规则是:每次只能让相邻两个人比较,如果左边的比右边高,就换位置。

就这样一遍遍从队首走到队尾,高个子会不断往后挪。几轮之后,队伍自然就排好了。这和冒泡排序的过程几乎一模一样。

代码长什么样?

下面是用 Python 实现冒泡排序的一个简单例子:

def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr

这段代码里,外层循环控制排序的轮数,内层循环负责每一轮的“冒泡”过程。每一次比较都检查是否需要交换,确保更大的数往右移。

虽然它实现简单,但数据量一大,效率就明显跟不上了。不过作为理解排序逻辑的起点,冒泡排序依然是软件入门必学的一课。