Python实现插入排序(insertion sort)

插入排序(insertion sort)是一种比较简单的排序算法;其原理类似于对一手扑克牌进行排序;

使用Python实现插入排序

def insertionSort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        j = i-1
        while j >=0 and key < arr[j] :
            arr[j+1] = arr[j]
            j -= 1
            arr[j+1] = key

arr = [9, 21, 4, 18, 3]
print("排序前的列表为:",arr)
insertionSort(arr)
print ("排序后的列表为:",arr)

输出:

排序前的列表为: [9, 21, 4, 18, 3]
排序后的列表为: [3, 4, 9, 18, 21]

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/insertion-sort-in-python.html

分类: 计算机技术
推荐阅读:
Python set()函数 在 Python 中,set() 函数用于创建一个无序不重复元素集合。可以使用一个可迭代对象作为参数,例如列表、元组、字符串等。set() 函数会返回一个新的集合,其中包含传递给函数的唯一元素。
使用PySide6创建Hello World程序 本文将展示PySide6的hello world程序;程序将创建一个主窗体,在窗体上创建一个按钮,点击按钮将弹出Hello world的消息;
最新阿里云免费SSL证书申请教程 2021年最新申请阿里云免费SSL证书流程如下:
Qt Designer和PyQt的关系 Qt是一个非常强大的跨平台图形用户界面应用程序开发框架;而Qt Designer是用于设计UI界面的工具,你可以使用它通过拖拽和点击完成复杂的界面设计。
Rust:if this is intentional, prefix it with an underscore解决方法 编译Rust程序时提示:if this is intentional, prefix it with an underscore: `_x`,这表明存在一个未使用的变量 x,你可以将其删除或在变量名前添加一个下划线前缀;
Golang创建一百万个轻量级线程并同时执行 Go语言在语言级别支持轻量级线程,叫 goroutine,执行时只需要4-5k的内存,比线程更易用,更高效轻便,调度开销更小,可同时运行上千万个并发。