选择排序

Posted yc913344706

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择排序相关的知识,希望对你有一定的参考价值。

算法理解

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

以上是关于选择排序的主要内容,如果未能解决你的问题,请参考以下文章

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段6——CSS选择器

在第6731次释放指针后双重免费或损坏

微信小程序代码片段

pycharm添加Odoo代码片段