网站首页 > 精选教程 正文
之前我曾写过一篇SCL冒泡排序算法的文章(西门子SCL语言编程实例——冒泡排序 | 北岛夜话),文中的算法在某些情况下会出现错误,原因是SCL语言的数组的上限和下限可以自由定义,这点与C/C++的不同。今天这篇文章,给大家介绍下更新版的冒泡排序算法,它不但适用于下限从0开始的数组,还适用于下限是负数或其它任意数的数组。
为了能支持上升沿信号检测,我不用之前的函数(FC),而是采用函数块(FB)来实现该算法。
在博途环境下新建函数块FB5011_BubleSort,声明变量如下图所示:
其中:
- enable:使能排序算法(内部上升沿信号检测);
- mode:排序的方式,0=升序,1=降序;
- arraySort:变长数组,排序数据的来源;
代码如下:
使用之前文章介绍的生产随机数的函数初始化多个数组,然后使用该算法对数组中的元素进行排序,结果如下:
①数组arraySort的下限为1,上限为20,采用升序排序:
②数组arraySort2的下限为-2,上限为20,采用升序排序:
③数组arraySort3的下限为10,上限为30,采用降序排序:
④数组arraySort4的下限为0,上限为30,采用降序排序:
关于冒泡排序更新版就先介绍到这里,如果你有任何问题欢迎留言讨论。
我的书《西门子S7-1200/1500 PLC SCL语言编程》比较详细的介绍了SCL的编程,感兴趣的话可以看看下面的链接:
- 上一篇: python冒泡排序
- 下一篇: 算法学习-JavaScript冒泡排序与选择排序
猜你喜欢
- 2024-12-04 程序入门:冒泡排序(C++)
- 2024-12-04 算法学习-JavaScript冒泡排序与选择排序
- 2024-12-04 python冒泡排序
- 2024-12-04 C语言 冒泡排序
- 2024-12-04 Python中的关键算法之”冒泡排序“
- 2024-12-04 西门子SCL语言编程实例——冒泡排序
- 2024-12-04 宇哥编程算法练习:冒泡排序的原理(基于Access数据库VBA)
- 2024-12-04 看动画学算法之:排序-冒泡排序
- 2024-12-04 西门子SCL编程实例—冒泡排序算法的实现
- 2024-12-04 Python实现冒泡排序
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)