[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
编程语言
> 详细
排序算法——冒泡排序
时间:
2021-03-17 09:57:56
阅读:
34
评论:
0
收藏:
0
[点我收藏+]
相信很多学习Python的同学,学完基本语法后,就要开始接触Python的算法了,其中一个最重要的算法就是排序算法,那么何谓排序算法呢,其又有哪些排序算法呢?接下来范范老师开辟一个技术系列和大家一起学习讨论下排序算法。
排序顾名思义:将一组无序的记录序列调整为有序的记录序列;而排序算法就是通过一个算法规则将一组无序的记录序列调整为有序的记录序列。
常见的排序算法种类:
1.冒泡排序
2.选择排序
3.插入排序
4.快速排序
5.堆排序
6.归并排序
7.希尔排序
8.计数排序
9.基数排序
而我们先从最简单的冒泡排序说起。
冒泡排序定义如下:
列表每两个相邻的数,如果前面比后面大,则交换这两个数,一趟排序完成后,则无序区域减少一个数,而有序区域增加一个数。
接下来我们通过一个简单的例子来彻底掌握冒泡排序的过程(以从小到大的排序为例):
如上图所示,此时箭头指针指向列表的第0位,此时第0位的4和第1位的5比较大小,此时发现4<5,此时4和5不用交换位置
箭头从第0位移动到第1位上指向5,此时5和2进行比较,发现2<5,所以5和2交换位置
此时箭头跟随5移动到列表的第2位上,此时5和3进行比较,发现3<5,所以5和3交换位置
此时箭头跟随5移动到列表的第3位上,此时5和6进行比较,发现5<6,所以5和6不用交换位置
箭头移动到列表的第4位上并指向6,此时6和1进行比较,发现1<6,所以6和1交换位置
此时经过第一趟的比较,6就是该列表中最大的数字了,并标记为红色的区域,该区域定义为有序区域,而前面的为无序区域。
接下来的进行的第二趟一直到第五趟的过程都和第一趟是一样的,此时不再赘述了。
第二趟的结果如下所示
第三趟的结果如下所示
第四趟的结果如下所示
第五趟的结果如下所示
此时理论已经弄清,接下来我们用代码来实现冒泡排序
运行结果如下:
排序算法——冒泡排序
原文:https://blog.51cto.com/15134242/2662537
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!