30 lines
763 B
Python
30 lines
763 B
Python
# 选择排序
|
|
a = [5,2,1,8,9,2,6,7]
|
|
for i in range(0,len(a)-1):
|
|
min_i = i # 设置最小值所对应的位置
|
|
for j in range(i+1, len(a)):
|
|
if a[j] < a[min_i]:
|
|
min_i = j # 更新最小值所对应的位置
|
|
a[i],a[min_i] = a[min_i],a[i] # 交换第i项和第最小值项
|
|
print(a)
|
|
'''
|
|
a = [5,2,1,8,9,2,6,7]
|
|
第一轮
|
|
i = 0 min_i = 0
|
|
j = 1 a[1] < a[0]? min_i = 1
|
|
j = 2 a[2] < a[1]? min_i = 2
|
|
j = 3 a[3] < a[2]? min_i = 2
|
|
j = 4 a[4] < a[2]? min_i = 2
|
|
j = 5 a[5] < a[min_i]? min_i = 2
|
|
j = 6 a[j] < a[min_i]? min_i = 2
|
|
j = 7 a[j] < a[min_i]? min_i = 2
|
|
a[i],a[min_i]交换 [1,2,5,8,9,2,6,7]
|
|
i = 1 min_i = 1
|
|
j = 2 a[j]<a[min_i]? min_i = 1
|
|
...
|
|
...
|
|
|
|
'''
|
|
|
|
|