码迷,mamicode.com
首页 > 编程语言 > 详细

选择排序

时间:2018-06-24 21:07:28      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:http   lis   span   inf   实现   算法理解   最坏情况   方式   pen   

算法理解

首先找出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)

选择排序

标签:http   lis   span   inf   实现   算法理解   最坏情况   方式   pen   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!