打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
<<轻松学会C语言>>14. 冒泡排序

在算法中,有一个功能经常需要,就是排序,从小到大排序,或从大到小排序。

一.冒泡排序

1.需求:把一个字符串或数组的内容从小到大排序;

2.模拟:按照冒泡模拟:

假设数组有 3, 2,7,4,1 要从小到大排序

冒泡过程1:

3和2比较,3大,因此1.1次互换位置:2,3,7,4,1

3和7比较,7大,因此1.2次不换位置:2,3,7,4,1

7和4比较,7大,因此1.3次互换位置:2,3,4,7,1

7和1比较,7大,因此1.4次互换位置:2,3,4,1,7

第一轮冒泡,最大的7已经冒到最上面

冒泡过程2:

2和3比较:3大,因此2.1 不换位置,2,3,4,1,7

3和4比较,4大,因此2.2 不换位置,2,3,4,1,7

4和1比较,4大,因此2.3 互换位置,2,3,1,4,7

4和7比较,7大,因此2.4 不换位置

第二轮冒泡,最大4已经冒出来

冒泡过程3:

2和3比较, 3大,因此3.1 不换位置,2,3,1,4,7

3和1比较, 3大,因此3.2 互换位置 2,1,3,4,7

3和4比较,4大,因此3.3 不换位置

4和7比较,7大,因此3.4不换位置

冒泡过程4:

2和1比较,2大,因此4.1换位置,1,2,3,4,7

2和3比较,3大,...

3和4比较,4大...

4和7比较,7大

3.抽象:

把上面过程抽象,则有2个循环,都是从头到尾循环

i=0-5; 外围循环, 循环次数为最大字符数;

j=1-5; 内部循环,只要str[j]>str[j+1], 就swap;

注意:循环次数为j+1<最大字符长度;

声名:以上内容为 七里稻田 原创

如果需要C语言全课程, 可以留言/或私信。

将提供C语言全课程,可以免费体验,或支付9.9元,即可购买课程,获得课程所有程序源代码。并提供在线疑问解决3个月。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
西门子PLC:通过指针轻松实现多个数据排列
【连载】(数组的排序算法,你要知道的都在这里)——乐创DIY C语言讲义——5.4节
js干货大全 | JavaScript排序算法汇总
C语言选择排序算法及代码
关于排序—冒泡排序
冒泡排序,经典的排序算法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服