炬哥技术博客

Python选择排序

炬哥 2024年05月30日 Python 1312 0

1、算法步骤

a. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置

b. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

c. 重复第二步,直到所有元素均排序完毕。


2、动图演示

选择.gif


3、代码

# 定义一个函数selectionSort,参数为一个列表arr
def selectionSort(arr):
    # 外层循环,从索引0遍历到len(arr) - 1
    for i in range(len(arr) - 1):
        # 记录最小数的索引,默认为当前索引i
        minIndex = i
        # 内层循环,从i+1遍历到len(arr)
        for j in range(i + 1, len(arr)):
            # 如果当前元素小于最小数
            if arr[j] < arr[minIndex]:
                # 更新最小数的索引
                minIndex = j
        # 如果i不是最小数的索引,则交换i和最小数的位置
        if i != minIndex:
            arr[i], arr[minIndex] = arr[minIndex], arr[i]
    # 返回排序后的列表arr
    return arr


打赏 支付宝打赏 微信打赏

声明:本文由发布,如需转载请注明出处。

发布评论

分享到:

炬哥技术博客

欢迎炬哥微信号:4508175 (左侧二维码扫一扫)

Python计数排序
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,您可以吐槽或者留言。