排序题插入排序题目
以下是一个简单的插入排序算法的题目:
题目:将一个无序数组按照从小到大的顺序排序,并输出排序后的结果。
要求:使用插入排序算法实现
以下是一个可能的实现:
```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` 插入到正确的位置上。最后返回已排序的数组。