pta6-2直接插入排序
时间: 2024-12-26 19:25:33 浏览: 190
### PTA 6-2 直接插入排序
#### 题意理解
直接插入排序是一种简单直观的排序算法。该算法构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入[^2]。
#### 解题思路分析
直接插入排序的核心在于逐步将无序部分的第一个元素插入到前面已经排好序的部分中去。具体来说:
1. 假设数组第一个元素是一个长度为1的有序子数组;
2. 对于每一个后续元素,将其与前边的有序子数组中的各个元素比较,直到找到合适的位置为止;
3. 将当前元素插入到这个位置上,并移动原有元素使之腾出空间;
此过程重复执行直至整个数组被处理完毕。
#### Python代码实现
以下是Python版本的具体实现方式:
```python
def insertion_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i-1
while j >=0 and key < arr[j]:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
# 测试用例
arr = [12, 11, 13, 5, 6]
insertion_sort(arr)
print ("Sorted array is:")
for i in range(len(arr)):
print ("%d" %arr[i])
```
阅读全文
相关推荐


















