首页 > 编程语言 > 详细

选择排序

时间:2019-10-30 01:31:23      阅读:97      评论:0      收藏:0      [点我收藏+]

选择排序:

列表中有多个元素要排序 第一次,将列表第一个元素赋值给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)

选择排序

原文:https://www.cnblogs.com/testerWangzhao/p/11762488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!