选择排序逻辑:第一次从待排序的列表中选出最小的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零
举例说明:1,2,3进行比较,需要1和2比,1和3比,2和3比,3不需要在和其他数字进行比较,比较完成。
例子 :list=[4,2,5,7,3,1]
由简到难,第一步:i=0,我先开始 list[i] 和 所有对象的比较,
第二步:我们循环 len(list)-1 次 第一步,最后一个元素不需要再进行比较(参考举例说明)
第一步流程图部分:

第二步流程图:

代码如下:
list = [4, 2, 5, 7, 3, 1]
# 第一种选择排序:第i个数和i以后的 所有位置数据进行对比
for i in range(0, len(list)-1):
a = list[i]
# 第一个数与第二个数进行对比,大的话排到最后
for j in range(i + 1, len(list)):
b = list[j]
if (a > b):
list[i], list[j] = list[j], list[i]
a = list[i]
print(list)
|