📅  最后修改于: 2023-12-03 15:34:31.284000             🧑  作者: Mango
插入排序是一种简单的排序算法,其核心思想是将待排序的元素逐个插入一个已经排序好的序列中。插入排序的时间复杂度为O(n^2),适用于少量元素的排序。
以下是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
该函数接收一个待排序的数组arr作为参数,利用循环对数组进行插入排序,最终返回排序好的数组。
在排序过程中,使用一个变量key表示待插入的元素,先将第一个元素看作有序序列,从第二个元素开始依次将其插入该有序序列中,每次将key与有序序列中的元素比较,找到合适的位置将其插入即可。
具体过程如下:
以下是使用示例:
arr = [3, 1, 5, 7, 2, 4, 9, 6, 8]
sorted_arr = insert_sort(arr)
print(sorted_arr)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
通过以上示例,我们可以看到插入排序已经成功排序了传入的数组,具有很好的实用性。