选择排序

阅读量: 119 编辑

选择排序(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 是列表的大小。

虽然它不是最高效的排序算法,但在小规模数据上仍然可以使用。在实际应用中,更高效的排序算法(如快速排序、归并排序等)通常更受青睐。

爱码岛编程公众号
微信扫码关注
爱码岛编程小程序
微信扫码打开
苏ICP备13052010号
©2023 南京匠成信息科技有限公司