选择排序

算法理解

首先找出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)
posted @ 2018-06-24 18:41  yc紫日  阅读(111)  评论(0编辑  收藏  举报