📜  用于插入排序的Python程序(1)

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

用于插入排序的Python程序

简介

插入排序是一种简单的排序算法,在处理小规模数组和部分有序数组时效率很高。其原理是将一个待排序的元素插入到正确的位置,使得前面的元素都小于等于它,后面的元素都大于等于它。这种排序方法可以通过循环和递归两种方式实现,但通常循环方式更加高效。

该Python程序实现了插入排序算法,可以对任意类型的数组进行排序,排序方式默认是升序排列。

程序实现
def insertion_sort(arr):
    """
    插入排序算法

    Args:
        arr: 待排序的数组

    Returns:
        排序后的数组
    """
    for i in range(1, len(arr)):
        key = arr[i]
        j = i - 1
        while j >= 0 and arr[j] > key:
            arr[j + 1] = arr[j]
            j -= 1
        arr[j + 1] = key
    return arr

程序使用了Python的for循环和while循环实现了插入排序算法,时间复杂度为O(n^2)。其中,for循环遍历数组,while循环将待排序元素插入到合适的位置。

使用示例
arr = [3, 1, 4, 2, 5]
print(insertion_sort(arr))  # [1, 2, 3, 4, 5]

arr = ["c", "a", "b"]
print(insertion_sort(arr))  # ['a', 'b', 'c']

使用示例演示了如何对数字数组和字符数组进行排序,并输出排序后的结果。

总结

插入排序是一种简单但实用的排序算法,该Python程序实现了插入排序算法,并可以对任意类型的数组进行排序。大家可以用这个程序作为模板,实现自己的排序算法。