Python之选择排序

代码

lst = [9,1,3,6,2,5,4,7,8,0]

nums = [0] + lst # 添加一个哨兵位
length = len(nums) # 列表长度

for i in range(2,length):    # 从2开始
    nums[0] = nums[i] # 待比较值放入哨兵位
    j = i - 1
    
    if nums[j] > nums[0]: # 如果哨兵小于比较数
        while nums[j] > nums[0]:
            nums[j+1] = nums[j]
            j -= 1
        nums[j+1] = nums[0]
print(nums)

解释

轮次哨兵12345678910
原始09136254780
第一轮11936254780
第二轮31396254780
....................................
最后修改:2020 年 06 月 16 日 05 : 43 PM
如果觉得我的文章对你有用,请随意赞赏