python选择排序

选择排序原理:
每一趟从元素列表中选取一个最小的元素作为有序序列中第i个元素。
意思就是:
下标:--------- 0 1 2 3 4 5
列表 :seq = [5,4,3,0,1,2]
每次循环,都从列表中选出值最小的元素,与第i个元素进行交换。
例如:
第一个循环:i = 0,值 = 5,此时列表最小元素为 0,下标 = 3。则将seq[i]与seq[3]进行交换,交换后的列表为:[0,4,3,5,1,2]
第二次循环:i = 1, 值 = 4,此时列表最小元素为1, 下标为4。则将seq[i]与seq[4]进行交换,交换后的列表为:[0,1,3,5,4,2]
依次循环,直到排序完毕。
选择排序的特点:每次循环,仅交换一次元素。
代码如下:

seq = [5,4,3,2,1,0]
for i in range(len(seq)-1):
    min_index = i      #这个是下标,不是元素值
    for j in range(i+1,len(seq)):
        if seq[min_index]>seq[j]:
            min_index = j      #记录最小元素的下标
    seq[i],seq[min_index] = seq[min_index],seq[i]   #此时交换的才是真正的元素
    print '第 %s 次循环' % (i+1),seq
print '排序后:    ',seq

运行结果如下:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,235评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,747评论 0 15
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,288评论 0 2
  • 引言 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列,它在大大小小的程...
    阿堃堃堃堃阅读 656评论 0 1
  • 又是一个夜不能寐的夜 是的,这不是偶尔的一个新奇的夜晚…… 是我最讨厌的一个也是最改不掉的一个习惯,即便是在关掉手...
    如遇尤物阅读 301评论 0 0