Python十大算法之选择排序Python代码简单实现

选择排序

在这里插入图片描述

"""
(不考虑列表元素小于1的列表,如果列表小于等于1,需要捕获异常)
选择排序是记录最小值的下标
先拿着一个元素进行元素对比,找到最小的元素,把这个最小的元素放到最前面,然后在从剩余的元素中继续
寻找最小的元素,然后放在已经排序过的序列末尾
"""


def sort_list(list_):
    # 先定义比较的轮数, 一个一个的比较,所以省去最后一次,总轮数为 元素个数减 1
    for i in range(len(list_)-1):
        # 定义一个最小元素的下标,(如果是降序就是最大元素的下标)
        min_sub = i
        # 定义每轮的要进行比较的次数, 由于每轮比较后都会固定一个元素,所以每轮比较次数为 总元素个数减去轮次
        for n in range(len(list_) -i):
            if list_[min_sub] > list_[n+i]:
                min_sub = n+i
        list_[i], list_[min_sub] = list_[min_sub], list_[i]

    return list_


if __name__ == '__main__':
    list_num = [23, 5, 0, 78, 56, 55, 77, 8, 2]
    print(sort_list(list_num))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值