实用科技屋
霓虹主题四 · 更硬核的阅读氛围

选择排序算法:简单直接的排序方法

发布时间:2026-01-06 19:31:33 阅读:274 次

在处理数据时,排序是个常见需求。比如你有一堆考试成绩要从低到高排,或者想把购物清单按价格整理。这时候,选择排序算法就派上用场了。它不像快速排序那样复杂,也不需要额外空间,理解起来特别直观。

它是怎么工作的?

选择排序的核心思路很简单:在未排序的部分里找最小值,把它放到已排序部分的末尾。重复这个过程,直到所有元素都归位。

举个例子,你面前有五个数字:64, 25, 12, 22, 11。第一轮,找出最小的11,和第一个数64交换位置;第二轮,在剩下的数中找最小的12,它已经在正确位置;第三轮找22,依此类推。每一步都让数组更有序一点。

代码实现看看

下面是一个用 Python 实现的选择排序示例:

def selection_sort(arr):
    n = len(arr)
    for i in range(n):
        min_index = i
        for j in range(i + 1, n):
            if arr[j] < arr[min_index]:
                min_index = j
        arr[i], arr[min_index] = arr[min_index], arr[i]

# 使用示例
scores = [64, 25, 12, 22, 11]
selection_sort(scores)
print(scores)  # 输出: [11, 12, 22, 25, 64]

适用场景和局限性

选择排序适合小规模数据或教学演示。它的优点是逻辑清晰、代码短,不需要额外内存。但问题也很明显:时间复杂度固定为 O(n²),不管数据原本有没有顺序,都要挨个比较。所以面对几千条以上的数据,它就显得慢了。

如果你只是给几十个学生成绩排序,或者写个小工具练手,选它没问题。可要是处理订单记录、用户评分这类大数据,就得考虑更高效的算法了。

尽管不够快,选择排序依然是理解排序思想的好起点。就像学做饭先学会煮蛋一样,简单但基础。