重学数据结构与算法——选择排序

def select_sort(li):
    for i in range(len(li)-1):
        min_loc = i
        for j in range(i+1,len(li)):
            if li[j] < li[min_loc]:
                min_loc = j
        if i != min_loc:
            li[i],li[min_loc] = li[min_loc], li[i]
        print(li)
li = [3,2,3,6,7,2,0]
select_sort(li)

其中,min_loc是对当前最小值的序号进行标记
第7行进行了一次判断,实际上可以不用判断,无论i与min_loc是否相等都调换即可,不会报错

你可能感兴趣的:(重学数据结构与算法)