基本排序之插入排序(Python语言实现)

一、插入排序原理

学习插入排序时,查阅不少前辈的博文比如此文。再此也记录一下自己对插入排序的理解:将待排元素插入进已有序列中。已排序列在变长,待排序列在缩小。插入是这样步骤,取出一个数,与前面一个数比较,该数较小,那就将前面数往后挪一个位置。继续往前找,直至比前一个数大或者到达已排好的列开始为止,将取出的数放入。再取出一个数按前操作,直到所有待排数据全部插入为止。

二、编码

#!usr/bin/python3

def InsertSort_2(listArr):
    length = len(listArr)
    
    for i in range(1, length) :
        ind = i
        curr = listArr[i]
        
        while ind > 0 and curr < listArr[ind - 1]:
            listArr[ind] = listArr[ind-1]
            ind -= 1
            
        arr[ind] = curr;       
    
if __name__ == "__main__":
    arr = [12, 7, 89, 100 ,67, 56, 37, 45, 77, 99, 23]
    InsertSort_2(arr)
    print(arr)

三、结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值