laide_teacher_python/20240712.py

30 lines
763 B
Python
Raw Permalink Normal View History

2024-07-12 18:54:25 +08:00
# 选择排序
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
...
...
'''