本题要求从键盘读入n个整数,对这些数做选择排序。输出选择排序每一步的结果和最终结果
时间: 2023-04-27 21:06:40 浏览: 289
首先,选择排序是一种简单的排序算法,它的基本思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
具体实现过程如下:
1. 从待排序序列中,找到关键字最小的元素;
2. 如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;
3. 从余下的 N - 1 个元素中,找出关键字最小的元素,重复步骤 2,直到排序结束。
下面是选择排序的 Python 代码实现:
n = int(input("请输入待排序的整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第 %d 个整数:" % (i+1))))
print("原始序列为:", a)
for i in range(n-1):
min_index = i
for j in range(i+1, n):
if a[j] < a[min_index]:
min_index = j
if min_index != i:
a[i], a[min_index] = a[min_index], a[i]
print("第 %d 步排序结果为:" % (i+1), a)
print("最终排序结果为:", a)
输入示例:
请输入待排序的整数个数:5
请输入第 1 个整数:3
请输入第 2 个整数:1
请输入第 3 个整数:4
请输入第 4 个整数:2
请输入第 5 个整数:5
输出示例:
原始序列为: [3, 1, 4, 2, 5]
第 1 步排序结果为: [1, 3, 4, 2, 5]
第 2 步排序结果为: [1, 2, 4, 3, 5]
第 3 步排序结果为: [1, 2, 3, 4, 5]
第 4 步排序结果为: [1, 2, 3, 4, 5]
最终排序结果为: [1, 2, 3, 4, 5]
阅读全文