📅  最后修改于: 2023-12-03 15:34:11.951000             🧑  作者: Mango
插入排序是一种简单直观的排序算法。它的基本思想是每次将一个待排序的元素,插入到已排好序的部分中,直到所有元素都插入完成。
Python是一种易学易用的编程语言,使用Python实现插入排序非常方便。
以下是Python实现插入排序的示例代码:
def insert_sort(nums):
for i in range(1, len(nums)):
j = i
while j > 0 and nums[j] < nums[j - 1]:
nums[j], nums[j - 1] = nums[j - 1], nums[j]
j -= 1
return nums
代码解释:
def insert_sort(nums)
:定义了一个名为insert_sort
的函数,该函数接受一个无序列表nums
作为参数。for i in range(1, len(nums))
:循环遍历待排序的列表,从索引1开始,即从第二个元素开始。j = i
:定义变量j
为当前循环到的元素的索引位置。while j > 0 and nums[j] < nums[j - 1]
:如果当前元素比前一个元素小,就交换它们的位置,直到当前元素大于等于前一个元素或者已经到达列表开头。nums[j], nums[j - 1] = nums[j - 1], nums[j]
:交换当前元素和前一个元素的位置。j -= 1
:将当前元素的索引位置向前移动一位。return nums
:返回已排序的列表。下面是使用insert_sort
函数对一个无序列表进行排序的示例:
nums = [5, 2, 9, 1, 5, 6]
print(insert_sort(nums))
输出结果为:
[1, 2, 5, 5, 6, 9]
插入排序是一种简单、直观的排序算法,使用Python实现非常方便。我们可以通过编写简单的代码来实现该算法。