python3实现选择排序和插入排序

35 篇文章 0 订阅
21 篇文章 0 订阅

选择排序和插入排序与我们上一篇博客讲的冒泡排序在实践复杂度上相近,都是效率比较低的排序算法。这里提供两者的python3代码,具体的算法原理待以后补充:

__author__ = "Allen Liu"
__time__ = "2017/8/13"
'''This program used to '''
import random
# 选择排序
def select_sort(li):
    for i in range(len(li) - 1):
        temp = i
        for j in range(i + 1, len(li)):
            if li[temp] > li[j]:
                temp = j
        li[temp], li[i] = li[i], li[temp]

#插入排序
def insert_sort(li):
    for i in range(1, len(li)):
        temp = i
        j = i - 1
        while j >= 0 and li[j] > li[temp]:
            li[temp], li[j] = li[j], li[temp]
            temp = j
            j -= 1

data = list(range(10))#产生一个有序列表
random.shuffle(data) # 调用shuffle函数打乱顺序
print(data)# 排序前
select_sort(data)# 调用选择排序算法
print(data)#排序后
random.shuffle(data)
print(data)# 排序前
insert_sort(data)# 调用插入排序算法
print(data)#排序后


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值