python插入排序算法的实现代码

  • Post category:Python

下面是详细讲解“Python插入排序算法的实现代码”的完整攻略,包含两个示例说明。

插入排序算法

插入排序算法是一种简单的排序算法,它的基本思想是将待排序的序列分为已排序和未排序两部分,然后将未排序的元素逐个插入到已排序的序列中,直到整个序列有序为止。

Python插入排序算法的实现

下面是一个示例代码,用于实现插入排序算法:

def insertion_sort(arr):
    n = len(arr)

    for i in range(1, n):
        key = arr[i]
        j = i - 1

        while j >= 0 and arr[j] > key:
            arr[j + 1] = arr[j]
            j -= 1

        arr[j + 1] = key

这个代码定义了一个函数insertion_sort,用于实现插入排序算法。它接受数组arr作为参数,然后将数组中的元素逐个插入到已排序的序列中,直到整个序列有序为止。

示例1:对整数组进行排序

让我们使用插入排序算法对整数数组进行排序。我们将以下代码:

arr = [3, 2, 1, 5, 4]
insertion_sort(arr)
print(arr)

这个代码使用insertion_sort函数对整数数组arr进行排序。我们调用insertion_sort函数,并将arr作为参数传递。最后,我们打印结果。

输出结果为:

[1, 2, 3, 4, 5]

这表示整数数组arr已经按升序排列。

示例2:对字符串数组进行排序

让我们使用插入排序算法对字符串数组进行排序。我们将以下代码:

arr = ['apple', 'banana', 'orange', 'pear', 'grape']
insertion_sort(arr)
print(arr)

这个代码使用insertion_sort函数对字符串数组arr进行排序。我们调用insertion_sort函数,并将arr作为参数传递。最后,我们打印结果。

输出结果为:

['apple', 'banana', 'grape', 'orange', 'pear']

这表示字符串数组arr已经按字母顺序排列。

希望这攻略帮助你理解如何使用Python实现插入排序算法。