排序算法-冒泡排序

排序算法

案例:成绩排序,高低身高排序
排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。

排序算法稳定性
原本相等键值的记录维持相对次序,稳定排序算法,否则为不稳定排序算法。

冒泡排序

比较相邻的元素(1,2)(2,3)(3,4)……根据要求按顺序排列位置,从第一组到最后一组。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
代码实现


```python
a=[123,12,15,648,46,6,464,1]
'特例:如果列表有序(1,2,3,4,5,6),则只需要检测一次,查看是否有交换,如果没有,则退出操作'
def maopao(listinput):
    count=0
    for j in range(len(listinput)-1,0,-1):#倒序操作,数字从大到小
        for i in range(j):
            if listinput[i]>listinput[i+1]:
                listinput[i],listinput[i+1]=listinput[i+1],listinput[i]
                count+=1
        if count==0:
            break
    print(listinput)
maopao(a)
结果是[1, 6, 12, 15, 46, 123, 464, 648]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值