给定一个长度为N的序列,初始L是最低的边界初始值是0: 1.在[L…N-1]中,查找最小的元素X的位置 2.交换X元素和第L个元素 3.将L加1,重复步骤1,2,直到L=N-2
复杂度
O(N2)
O
(
N
2
)
def selection_sort(alist):
n = len(alist)
for i
in range(n-
1):
min_index = i
for j
in range(i+
1, n):
if alist[j] < alist[min_index]:
min_index = j
if min_index != i:
alist[i], alist[min_index] = alist[min_index], alist[i]
参考文献: https://visualgo.net/en/sorting?slide=7-1