博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡排序
阅读量:6435 次
发布时间:2019-06-23

本文共 1038 字,大约阅读时间需要 3 分钟。

冒泡排序

是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

冒泡排序算法的运作如下:

  • 比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。
  • 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
  • 针对所有的元素重复以上的步骤,除了最后一个。
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

1、

def bubble_sort(alist):    for j in range(len(alist)-1,0,-1):        # j表示每次遍历需要比较的次数,是逐渐减小的        for i in range(j):            if alist[i] > alist[i+1]:                alist[i], alist[i+1] = alist[i+1], alist[i]li = [54,26,93,17,77,31,44,55,20]bubble_sort(li)print(li)

2、

def bublle_sort(alist):    """冒泡排序"""    n = len(alist)    for j in range(n-1):        count = 0        for i in range(0, n-1-j):            #从头走到为            if alist[i]>alist[i+1]:                alist[i],alist[i+1] = alist[i+1],alist[i]                count +=1                        if 0 == count:            breakif __name__ == "__main__":    li = [54,25,93,17,77,31,44,55,20,10]    print(li)    bublle_sort(li)    print(li)

 

转载于:https://www.cnblogs.com/omak/p/10165643.html

你可能感兴趣的文章
把前端监控做到极致
查看>>
python——变量
查看>>
subline上装node.js插件
查看>>
python字符串操作实方法大合集
查看>>
Linux学习(十一):不可忽略的Linux支持的文件系统
查看>>
[转]VC++中操作XML(MFC、SDK)
查看>>
WiFi连接风险造成个人信息外泄 网络安全需加强
查看>>
2017(中国)商博会系列介绍之智能生活展
查看>>
eclipse link方式安装 sts(Spring Tool Suite)
查看>>
数据结构思维 第三章 `ArrayList`
查看>>
CentOS6、7编译安装FFmpeg
查看>>
Android项目实战(二十九):酒店预定日期选择
查看>>
PHP IDE phpstorm 常用快捷键
查看>>
蓝牙的未来怎样发展?
查看>>
AI、新材料、5G、智慧城市,未来的社会场景在高交会提前上演
查看>>
Facebook开发的一种数据查询语言——GraphQL:安全概述和测试技巧
查看>>
ECS主动运维2.0,体验升级,事半功倍
查看>>
vim 学习方法
查看>>
php token验证范例
查看>>
WebSocket的C++服务器端实现
查看>>