排序题插入排序题目
以下是一个简单的插入排序算法的题目:
要求:使用插入排序算法实现。
以下是一个可能的实现:
```python
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
```
这个实现中,我们遍历整个数组,对于每个元素,将其插入到已排序的子数组中正确的位置上。具体来说,我们首先将当前元素存储在变量 `key` 中,然后将 `i` 递减到 `0`,同时将 `j` 递减到 `-1`。在循环中,如果 `key` 小于 `arr[j]`,则将 `arr[j]` 向右移动一位,直到到 `key` 的正确位置。最后,将 `key` 插入到正确的位置上。最后返回已排序的数组。
发布评论