选择排序

选择排序:

列表中有多个元素要排序 第一次,将列表第一个元素赋值给min变量 然后遍历剩余元素找到最小元素所在的坐标 (剩余的元素和min比较,如果比min小,就把min的值改为此元素值)然后将一个元素和最小元素通过坐标来进行交换。 实现了,将最小值放到了第一个位置。

第2次,将列表第2个元素赋值给min变量 然后遍历剩余元素找到最小元素所在的坐标(第一个元素不参与比较) (剩余的元素和min比较,如果比min小,就把min的值改为此元素值) 然后将一个元素和最小元素通过坐标来进行交换。 实现了,将次小值放到了第2个位置。

第3次,将列表第3个元素赋值给min变量 然后遍历剩余元素找到最小元素所在的坐标(第1和2元素不参与比较) (剩余的元素和min比较,如果比min小,就把min的值改为此元素值) 然后将一个元素和最小元素通过坐标来进行交换。 实现了,将第三小值放到了第3个位置

 

a = [5, 4, 3, 6, 8, 7]

for i in range(len(a) - 1):
min = a[i] # 记录当前最小值
index = i # 记录最小值的坐标
for j in range(i + 1, len(a)):
if a[j] < min: # 当我遇到更小的,比较的基准变为了更小的值
min = a[j]
index = j # 并且把坐标记录下来
# 能否找到最小值和它所在的坐标?

a[i], a[index] = a[index], a[i] # 是不是实现了将最小值放到第一个位置

print(a)
posted @ 2019-10-30 00:02  王钊  阅读(144)  评论(0)    收藏  举报