📜  用于选择排序的Python程序(1)

📅  最后修改于: 2023-12-03 14:56:22.713000             🧑  作者: Mango

选择排序算法的Python程序介绍

选择排序是一种简单但有效的排序算法,它的基本思想是在未排序的数列中选择最小元素,然后将其放置到数列的起始位置。接着,再从剩余未排序的元素中找到最小元素,并将其放置到已排序序列的末尾。这个过程一直持续到整个数列排序完毕。

以下是一个用于选择排序的Python程序代码片段:

def selection_sort(arr):
    n = len(arr)
    for i in range(n):
        min_idx = i
        for j in range(i+1, n):
            if arr[j] < arr[min_idx]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i]
    return arr
代码说明

在这个程序中,我们定义了一个名为selection_sort的函数,用于执行选择排序过程。首先,我们获取要排序的数列的长度,然后从0到n-1的范围内遍历数列。

在每次迭代中,我们使用变量min_idx来表示当前未排序部分的最小值的索引。对于数组中每个大于当前最小值的元素,我们将min_idx设置为该索引。这样,在完成一次迭代后,我们就可以将当前最小值与数组的开头交换位置。接下来,我们继续找到未排序部分中的最小值,并重复这个过程,直到整个数列排序完成为止。

测试代码

在执行任何算法之前,我们需要测试其效果,确认其正确性。以下是一些用于测试选择排序算法的Python代码片段:

# 测试代码
arr = [64, 25, 12, 22, 11]
print("原始列表为:")
print(arr)
print("排序后的列表为:")
print(selection_sort(arr))

输出结果为:

原始列表为:
[64, 25, 12, 22, 11]
排序后的列表为:
[11, 12, 22, 25, 64]
总结

选择排序是一种基于比较的简单排序算法。它的时间复杂度为O(n^2),因此不适用于大规模数据。但是它易于实现,通用性强,是学习排序算法的起点之一。本文介绍了一个用于选择排序的Python程序,希望能对初学者有所帮助。