首页 > 编程语言 > 详细

选择排序

时间:2020-05-07 21:02:37      阅读:63      评论:0      收藏:0      [点我收藏+]
‘‘‘
首先在未排序序列中找到最小(大)元素,
存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,
然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
‘‘‘

def selection_sort(lst):
    n = len(lst)
    for i in range(n-1):

        for j in range(i+1,n):
            # 未排序序列,i不断增加,为第一个未排序序列元素
            min_index = i #先令 i 为 min_index
            if lst[j] < lst[min_index]:
                min_index = j   #如果min_index大于j 则交换位置
            if min_index != i: #min_index发生了变化,不是 i
                lst[i],lst[min_index] = lst[min_index],lst[i]


lst = [54,226,93,17,77,31,44,55,20]
selection_sort(lst)
print(lst)

2020-05-07

选择排序

原文:https://www.cnblogs.com/hany-postq473111315/p/12845306.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!