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

分类: 计算机技术
推荐阅读:
Golang创建一百万个轻量级线程并同时执行 Go语言在语言级别支持轻量级线程,叫 goroutine,执行时只需要4-5k的内存,比线程更易用,更高效轻便,调度开销更小,可同时运行上千万个并发。
Matlab中如何表示无穷大 在MATLAB中,您可以使用关键字inf(不区分大小写)来表示正无穷大,-inf表示负无穷大。
Python 多线程的运用 多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。
C程序生成长度32的随机十六进制字符串 在C语言中生成一个长度为32的十六进制随机字符串;大致方法为,生成一个十进制的数,然后转换成十六进制字符;
PyQt:使用QVBoxLayout实现垂直布局 所谓的布局,你可以理解为窗口上控件(部件)的排版方式;使用 Layout 进行布局,窗口上的部件能随窗口大小的变化而变化;在本文中,你将掌握在Python中使用 QVBoxLayout 来进行垂直布局;
Python isinstance()函数 在Python中,isinstance()函数用于判断一个对象是否是指定类或类型的实例。