输入n(1<=n<=100),输入n个整数,对着n个整数采用直接插入排序方法进行升序排序,输出前三趟以及最终的排序序列代码怎么写
时间: 2024-09-19 09:13:50 浏览: 55
在Python中,你可以使用下面的代码来实现输入n个整数的直接插入排序算法,包括前三趟排序过程和最终结果:
```python
def insertion_sort(arr):
# 第一趟排序
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
print("第一趟排序:", arr)
# 前三趟排序(这里假设前两趟排序类似第一趟,只是处理更多的元素)
for _ in range(2): # 模拟第二、三趟排序
for i in range(1, len(arr) - 2): # 跳过最后两个已排序的元素
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
print(f"第{_+2}趟排序:", arr)
# 最终排序
for _ in range(len(arr) - 1): # 进行完整遍历
key = arr[_]
j = _ - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
print("最终排序序列:", arr)
# 接收用户输入的整数列表
n = int(input("请输入整数个数 (1 <= n <= 100): "))
arr = list(map(int, input("请输入n个整数, 用空格分隔: ").split()))
insertion_sort(arr)
```
运行此代码后,它将按照描述的过程对输入的整数数组进行排序并显示每一步的结果。
阅读全文