
def insertion_sort(arr):
# 遍历数组中的每个元素,从第2个元素开始
for i in range(1, len(arr)):
# 将当前元素保存到变量temp中
temp = arr[i]
j = i – 1
# 找到temp应该插入的位置,将比temp大的元素依次往后移动
while j >= 0 and arr[j] > temp:
arr[j+1] = arr[j]
j -= 1
# 将temp插入到正确的位置
arr[j+1] = temp
return arr
在这段代码中,我们定义了一个函数insertion_sort来进行插入排序。在函数中,我们首先遍历数组中的每个元素(从第二个元素开始),将当前元素保存到变量temp中,然后在已经排序好的元素序列中找到temp应该插入的位置,并将比temp大的元素依次往后移动,最后将temp插入到正确的位置。
值得注意的是,在这个实现中,我们使用了两个循环。外层循环用于遍历整个数组,内层循环用于在已排序序列中找到temp应该插入的位置。此外,我们还定义了一个变量j,用于保存已排序序列的最后一个元素的下标。
最后,我们将排好序的数组返回。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/80987
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!