常用排序算法的Python实现

本文介绍了几种常用的排序算法在Python中的实现,包括冒泡排序、插入排序、选择排序、快速排序和归并排序,详细列举了每种排序算法的代码示例。
摘要由CSDN通过智能技术生成

常用排序算法的Python实现

  • 冒泡排序
  • 插入排序
  • 选择排序
  • 快速排序
  • 归并排序

1. 冒泡排序

# 定义冒泡函数
def bubble(lis):    # 要排序的数据存放在列表lis中
    n=len(lis)  # 获取数据个数
    for j in range(n,0,-1):     # 每趟冒泡的数据个数依次减1
        for i in range(j-1):    # 每个数分别和后一个数比较(除了最后一个)
            if lis[i]>lis[i+1]:     # 前一个数大于后一个数,交换
                lis[i],lis[i+1]=lis[i+1],lis[i]
    return lis

# 获取数据
n=int(input("请输入数据个数:"))    
nums=[]
for i in range(n):  
    x=int(input("请输入第"+str(i+1)+"个数:"))
    nums.append(x)  # 将获取的数据加入到nums列表中

# 调用函数排序
bubble(nums)    

# 输出结果
print("排序后的数据为:",end="")
for i in range(n):  
    print(nums[i],end=" ")    
    

2. 插入排序

# 定义插入排序
def insertSort(lis):
    n=len(lis)  
    for i in range(1,n): # 下标比i小的数据有序(初始第1个数据有序),下标大于等于i的数据无序
        key=lis[i]  # key初始化为无序序列的第1个数
        # key依次和前边的数据比较,如果前边的数据比key大,就后移给key让出位置  
        while lis[i-1]>key and i>0:  # i>0防止下标越界(key比第1个数小时)
                lis[i]=lis[i-1]  # 数据后移1位
                i-=1
        lis[i]=key
    return lis

# 获取数据
n=int
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值