冒泡排序

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
—百度百科

冒泡排序的行为是把左右依次比较,换位,实质是先寻找出最大值,放入数组末尾,再找出第二大的值放入倒数第二位,直到最小值放入第一位

def bubble_sort(lists):
    # 冒泡排序
    count = len(lists)
    
      # 遍历所有数组元素
    for i in range(0, count):
    
        for j in range(i + 1, count):
            if lists[i] > lists[j]:
                lists[i], lists[j] = lists[j], lists[i]  #交换位置
                
    return lists

如数列74 35861

  • 最大值8放在最后一位 74 35861 -> 4 73 5861-> 43 75 861-> 435 78 61-> 4357 86 1-> 43576 81-> 435761 8
  • 第二大值7放在倒数第二位 74 35618-> 4 73 5618-> 43 75 618-> 435 76 18-> 4356 71 8-> 43561 78
  • …4351 678
  • …431 5678
  • …31 45678
  • 最小值放到首位 1345678

(非作者允许,严禁转载)

作者联系方式:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值