用户登陆
免费注册
找回密码
站内短信
论坛搜索
工控下载
用户名
密码
输入验证码:
掌握
综合讨论
资料互助
程序样例
三菱工控
西门子区
欧姆龙区
触摸屏区
工控人家园
综合讨论
S11-经典冒泡排序法
上一主题
下一主题
龙海儿
关注《电气外传》公众号,知乎,CSDN等同号
级别: 论坛先锋
发送短信
加为好友
精华主题:
0
发帖数量:
327 个
工控威望:
1224 点
下载积分:
722 分
在线时间: 97(小时)
注册时间:
2018-04-13
最后登录:
2025-05-09
查看龙海儿的
主题
/
回贴
楼主
发表于: 3天前
全看
|
小
中
大
图片:
图片:
图片:
1111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal01111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0
龙海儿
11(
同微博
)
同《电气外传》微信公众号
我们在做一些数据管理的时候,往往要取最大值、最小值、求平均值、求和等。然而要得到以上结果是不是需要先对数据进行排序呢?那冒泡排序法自然是首选。让我们一起来做一下吧。
创造一个情境,第一步肯定是先建立一个数组。我这里用的
11个int类型组成的数组(从0-10是11个)。在里面随机填上了0-10的乱序数据。
然后如图开始编写双层
for循环程序。外层循环控制排序的次数,11个数据只需要循环10次即可。因为最后一个肯定已经满足了要求。内层循环需要处理每次的比较,遍历数组。实现数据移位和交换。切遍历次数依次在减少。
最后循环结束就可以得到组从小到大排序好的数据了。那么最小最大值直接从第一个和最后一个传送出去即可。求平均值和求和自然水到渠成,当然不排序也可以直接先去运算。
“冒泡”的含义其实就相当于把最大的数据从最后一个位置,通过交换操作,一步一步“浮现”到第一个位置的。实现方法比较简单,也易于理解。在一些小场景小规模数据处理中还是可以的,希望对大家有所帮助。
最后就写到这里,还是欢迎各位看官来深入讨论和批评指正!
关注《电气外传》公众号,知乎,CSDN等同号
分享
哈喽123
级别: 略有小成
发送短信
加为好友
精华主题:
0
发帖数量:
159 个
工控威望:
352 点
下载积分:
1072 分
在线时间: 27(小时)
注册时间:
2023-03-02
最后登录:
2025-05-10
查看哈喽123的
主题
/
回贴
1楼
发表于: 3天前
全看
|
小
中
大
我的建议是把提取的数放到一个新的数组里,而不是把现在的数组重新排序,例如现在的数组0的是7,按照你现在的思路,重新排序后的数组0变成了0,这不是一个好的解决办法,把数组里的数排序、取值,都不能改变现有的数组对应的数值,但是,正如楼主说的,处理这类型的数组时,SCL语言是最简洁的
分享
上一主题
下一主题
工控人家园
综合讨论
S11-经典冒泡排序法
http://www.ymmfa.com
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问