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))

猜你喜欢

转载自blog.csdn.net/lxb_wyf/article/details/109083896