选择排序的Python代码实现

对于a[0]~a[n]的数组,
默认a[i]最小,和后面的a[i+1]~a[n]进行比较,把最小的和a[i]交换位置,保证本次循环结束后a[i]是上一次未排序的数据中最小的

写法1

a=[12,2,23,4,15]
n=len(a)
for i in range(n-1):
    for j in range(i+1,n):
        if a[j]<a[i]:
            a[j],a[i]=a[i],a[j]
print(a)

写法2(标准写法)

a=[12,2,23,4,15]
n=len(a)
for i in range(n-1):
    mindex=i        #记录最小值的index
    for j in range(i+1,n):
        if a[j]<a[mindex]:
            mindex=j        #更新索引
    if mindex!=i:            #判断是否需要交换位置
        a[mindex],a[i]=a[i],a[mindex]
print(a)
posted @ 2019-09-17 21:41  中庭之园  阅读(997)  评论(0编辑  收藏  举报