选择排序(Selection Sort)是一种简单的排序算法,它每次选择未排序部分中的最小元素,并将其放置在已排序部分的末尾。这个过程不断重复,直到整个数组都被排序。
以下是使用选择排序算法对 Python 列表进行排序的示例代码:
def selection_sort(arr):
n = len(arr)
for i in range(n - 1):
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]
# 测试选择排序算法
my_list = [64, 34, 25, 12, 22, 11, 90]
selection_sort(my_list)
print("排序后的列表:", my_list)
运行此代码将输出:
排序后的列表: [11, 12, 22, 25, 34, 64, 90]
在这个示例中,selection_sort()
函数接受一个列表作为参数,并对其进行选择排序。
外层循环从列表的开头到倒数第二个元素进行迭代,每次迭代都会找到未排序部分的最小元素,并将其与当前位置进行交换。这样,最小的元素逐渐“浮动”到已排序部分的末尾。
选择排序的时间复杂度是 O(n^2),其中 n 是列表的大小。
虽然它不是最高效的排序算法,但在小规模数据上仍然可以使用。在实际应用中,更高效的排序算法(如快速排序、归并排序等)通常更受青睐。