📜  Python程序将元素插入排序列表(1)

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

Python程序将元素插入排序列表

插入排序是一种简单且常用的排序算法,它基于一个简单的想法:将元素逐个插入到已排序的列表中,直到所有元素都被插入到已排序的列表中为止。在这篇文章中,我们将会介绍一个Python程序,用于将元素插入排序列表。

程序实现

以下是一个使用Python实现插入排序的程序:

def insertion_sort(input_list):
    for i in range(1, len(input_list)):
        j = i - 1
        key = input_list[i]
        while (j >= 0) and (input_list[j] > key):
            input_list[j + 1] = input_list[j]
            j = j - 1
        input_list[j + 1] = key
    return input_list

上述代码定义了一个名为insertion_sort的函数,它接受一个列表参数input_list,表示需要排序的列表。函数内部使用一个循环来遍历输入列表:

  • 在每次循环中,我们都从输入列表中选择一个元素,并将其与已排序的列表中的元素比较。
  • 如果我们找到了一个已排序的元素,它的值大于我们选择的元素,则将该元素向右移动一个位置。
  • 接着,我们将选择的元素插入到新空出来的位置上。

这种方式可以确保列表中的每个元素都被插入到正确的位置,并且列表是按升序排列的。

示例

接下来,我们通过一个例子来了解如何使用上述代码来实现插入排序。我们从一个未排序的列表开始:

unsorted_list = [5, 7, 3, 1, 9, 4, 8, 2, 6]

调用insertion_sort函数,并将未排序列表作为参数传递给该函数:

sorted_list = insertion_sort(unsorted_list)

最终,我们将获得一个按升序排列的列表:

[1, 2, 3, 4, 5, 6, 7, 8, 9]
总结

在这篇文章中,我们介绍了如何使用Python实现插入排序。插入排序可以帮助我们更好地理解基本的排序算法原理,也是一种在实际应用中广泛使用的算法。我们希望这篇文章能够为初学者提供一些帮助,以更好地理解和应用插入排序算法。