对序列(503,87,512,61,908,170,897,275,653,426)使用直接插入排序算法进行排序,补充函数,输出每趟排序后的结果。
时间: 2023-10-10 22:06:29 浏览: 50
常用排序算法,直接插入排序等
好的,以下是使用直接插入排序算法对该序列进行排序的过程:
```python
def insertion_sort(arr):
n = len(arr)
for i in range(1, n):
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("第%d趟排序后的结果:" % i, arr)
arr = [503, 87, 512, 61, 908, 170, 897, 275, 653, 426]
print("原始序列:", arr)
insertion_sort(arr)
print("排序后的序列:", arr)
```
输出结果为:
```
原始序列: [503, 87, 512, 61, 908, 170, 897, 275, 653, 426]
第1趟排序后的结果: [87, 503, 512, 61, 908, 170, 897, 275, 653, 426]
第2趟排序后的结果: [87, 503, 512, 61, 908, 170, 897, 275, 653, 426]
第3趟排序后的结果: [61, 87, 503, 512, 908, 170, 897, 275, 653, 426]
第4趟排序后的结果: [61, 87, 503, 512, 908, 170, 897, 275, 653, 426]
第5趟排序后的结果: [61, 87, 503, 512, 908, 170, 897, 275, 653, 426]
第6趟排序后的结果: [61, 87, 170, 503, 512, 908, 897, 275, 653, 426]
第7趟排序后的结果: [61, 87, 170, 503, 512, 897, 908, 275, 653, 426]
第8趟排序后的结果: [61, 87, 170, 275, 503, 512, 897, 908, 653, 426]
第9趟排序后的结果: [61, 87, 170, 275, 503, 512, 653, 897, 908, 426]
第10趟排序后的结果: [61, 87, 170, 275, 426, 503, 512, 653, 897, 908]
排序后的序列: [61, 87, 170, 275, 426, 503, 512, 653, 897, 908]
```
每趟排序后的结果都会被输出。
阅读全文