是一种常用的排序方法,它可以将一个无序的数组排序为一个有序的数组。插入排序的基本思想是:将数组中的数据分为两部分,一部分是已排序的,另一部分是未排序的,每次从未排序的部分中取出一个元素,插入到已排序的部分中,使其有序,直到未排序的部分为空,整个数组就有序了。
的使用方法
使用的方法如下:
- 将第一个元素视为一个有序的数组,将第二个元素与第一个元素进行比较,如果第二个元素比第一个元素小,则将其插入到第一个元素之前,否则将其插入到第一个元素之后。
- 将第三个元素与前两个元素进行比较,如果第三个元素比前两个元素小,则将其插入到第一个元素之前,否则将其插入到第二个元素之后。
- 依次类推,直到将一个元素插入到已排序的数组中,整个数组就有序了。
# Python实现对数组进行插入排序
def insert_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