首页 > 编程语言 > 详细

选择排序

时间:2019-08-17 13:13:55      阅读:92      评论:0      收藏:0      [点我收藏+]

选择排序先思想:从列表中找出最小(或最大的元素,这里选择最小)的元素,返回其在列表中的位置(下标),将其(元素)添加到一个的结果列表中(也就是排序结果列表),并将其从原列表中删除;

时间复杂度为:O(nXn)

def find_smallest(li):
smallest = li[0]
smallest_index = 0
for i in range(1, len(li)):
if li[i] < smallest:
smallest = li[i]
smallest_index = i
return smallest_index


def selection_sort(li):
resli = []
for i in range(len(li)):
smallest = find_smallest(li)
resli.append(li.pop(smallest))
return resli


if __name__ == ‘__main__‘:
li = [5, 3, 6, 2, 10, 22, 87, 56, 22, 96]
print(selection_sort(li))

选择排序

原文:https://www.cnblogs.com/songyuejie/p/11367868.html

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