首页 > 编程语言 > 详细

选择排序

时间:2018-06-24 20:01:40      阅读:182      评论:0      收藏:0      [点我收藏+]

算法理解

首先找出A中的最小元素,并将其与A[1]进行交换,接着,找出次最小元素,与A[2]进行交换,对A中的前n-1个元素按此方式继续。

循环不变式

for循环的每次循环开始时,子数组A[1..i-1]由A中的元素组成,且已按序排列。

增长量级

最好情况与最坏情况均为技术分享图片

代码实现 - Python

import random
def select_sort(A):
    for i in range(0, len(A)-1):
        key = A[i]
        min = i
        for j in range(i+1, len(A)):
            if A[j] < A[min]:
                min = j
        A[i] = A[min]
        A[min] = key

list_ori = []
for i in range(10):
    list_ori.append(random.randrange(0, 5000))

print(list_ori)
select_sort(list_ori)
print(list_ori)

选择排序

原文:https://www.cnblogs.com/yc913344706/p/9221363.html

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