📜  python 插入排序 - Python (1)

📅  最后修改于: 2023-12-03 15:34:11.951000             🧑  作者: Mango

Python 插入排序

简介

插入排序是一种简单直观的排序算法。它的基本思想是每次将一个待排序的元素,插入到已排好序的部分中,直到所有元素都插入完成。

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实现非常方便。我们可以通过编写简单的代码来实现该算法。