排序算法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 ])