简单选择排序
这种排序就是在要选取的列表中选取最小的值,把最小的值放到序列的第一位,再进行将剩余的值重复上述操作,直到剩余序列为0。序列就是一个有序的序列了。
分析:现有一组序列,我们把它放入列表中
a = [10, 2, 5, 1, 3, 7, 3]
1.使用循环改变每一次的待排序序列从哪一位开始,从下标0开始到len(a)-1
2.在循环找出待排序序列的最小值——嵌套循环
3.最小值与待排序序列的第一位元素交换
4.重复操作,遍历结果为有序序列
def select_sort(a):
l = len(a)
for j in range(0, l - 1):
count = j # 先将第一个元素的下标,定为最小元素下标
# 使用循环,每次找出最小元素
for i in range(j, l - 1):
if a[count] > a[i + 1]: # 如果下一个数值小于当前最小元素,则最小元素下标发生变化
count = i + 1
# 交换最小元素和待排序元素中最前一个
a[j], a[count] = a[count], a[j]
print("排序后:",a)
if __name__ == "__main__":
a = [10, 2, 5, 1, 3, 7, 3]
print("排序前:",a)
select_sort(a)
输出结果:
排序前: [10, 2, 5, 1, 3, 7, 3]
排序后: [1, 2, 3, 3, 5, 7, 10]