选择排序_python

def selectdata(ls):
    for i in range(len(ls)):
        index=i
        for j in range(i+1,len(ls)):
            if ls[j]<ls[index]:
                index=j
        else:
            ls[i],ls[index]=ls[index],ls[i]
    else:
        return ls

print(selectdata([3,1000, 9, 11, 21, 21, 28, 190]))

[3, 9, 11, 21, 21, 28, 190, 1000]
[Finished in 0.6s]

 

总结:1.以未参加排序列表中第一个元素为基准,通过遍历比较获取相对其最小值的下标

           2.通过下标,对未参加排序列表中第一个元素与最小值进行交换

 

posted on 2017-10-11 16:22  sayhihi  阅读(146)  评论(0编辑  收藏  举报