排序算法3-选择排序

选择排序每次在未排序序列中找到最小元素,放在未排序序列的起始位置,不断重复这个过程

def SelectionSort(a):
    for i in range(len(a)-1):
        min_index = i
        for j in range(i+1,len(a)):
            if a[j] < a[min_index]:
                min_index = j
        if i != min_index:
            a[i], a[min_index] = a[min_index], a[i]
    return a

测试

import numpy as np
L = np.random.randn(10)
L

array([ 1.12904576, -0.01400276, 0.1539498 , 1.8861533 , 0.45380845,
-0.90393806, -1.30878126, -0.30194496, -0.0164042 , -1.59556215])

SelectionSort(L)

array([-1.59556215, -1.30878126, -0.90393806, -0.30194496, -0.0164042 ,
-0.01400276, 0.1539498 , 0.45380845, 1.12904576, 1.8861533 ])

posted @ 2019-05-19 22:05  babysteps  阅读(107)  评论(0编辑  收藏  举报