Python算法---冒泡排序算法以及插入排序算法

前言:算法是很重要的,但是太过于深奥又难以让人理解,那么本博文咱们就介绍两种简单通俗易懂的排序算法,即:冒泡排序和插入排序—

一.冒泡排序:

冒泡排序法:(相信大家都见过鱼泡泡吧,这就是那个道理,大的泡泡就会浮出来)
每次比较两个数,如果他们顺序错误(大于或者小于),那么就把他们置换
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。
所以,如果两个元素相等,是不会再交换的;
如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,
所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法

my_list=[1,5,12,3,9,4,1,5,66,88,123,99]
for i in range(len(my_list)-1):		#这个循环负责设置冒泡排序进行的次数
    for j in range(len(my_list)-i-1):		#比较的次数,因为是从0开始的,所以次数为-i-1
        if my_list[j]>my_list[j+1]:
            my_list[j],my_list[j+1]=my_list[j+1],my_list[j]  #两个数值交换
print(my_list)

在这里插入图片描述

二.插入排序:

插入排序:
插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,

  • 算法适用于少量数据的排序,
  • 时间复杂度为O(n^2)。
  • 插入排序是稳定的排序方法。
  1. 从数组第2个元素开始抽取元素。
  2. 把它与左边第一个元素比较,如果左边第一个元素比它大,则继续与左边第二个元素比较下去,直到遇到不比它大的元素,然后插到这个元素的右边。
  3. 继续选取第3,4,….n个元素,重复步骤 2 ,选择适当的位置插入
list=[1,5,8,9,6,4,7,3,2]
for n in range(len(list)):
    key=list[n]   #插元素
    j=n-1   #从第二个元素开始比较
    while j>=0:
        if list[j]>key:
            list[j+1]=list[j]  #将比待插元素大的元素后移
            list[j]=key
        j-=1  #减一,继续选取第3,4,.....n个元素
print(list)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木偶☜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值