1.算法:

对于一组关键字{K,K,…,K}, 首先从K,K,…,K中选择最小值,假如它是 K,则将K与 K对换;

然后从K,K,… ,K中选择最小值 K,再将K与K对换。

如此进行选择和调换n-2趟,第(n-1)趟,从K、K中选择最小值 K将K与K对换,最后剩下的就是该序列中的最大值,一个由小到大的有序序列就这样形成。

2.python  代码:

def selection_sort(list2):
for i in range(0, len (list2)):
min = i
for j in range(i + 1, len(list2)):
if list2[j] < list2[min]:
min = j
list2[i], list2[min] = list2[min], list2[i] # swap

结果为:[2, 3, 4, 21, 33, 44, 45, 67]

3. 时间复杂度  O(n*n)

05-07 12:39