北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章410 浏览3530514

西门子SCL语言编程实例——冒泡排序

作为一种高级语言,SCL比梯形图、功能块图等语言更擅长数据的处理。在实际项目中我们可能需要对数组中的数值进行排序,这种情况使用梯形图或功能块图编写程序会比较复杂,使用SCL就能轻松处理。今天这篇文章,我给大家介绍下如何使用SCL编程实现冒泡排序。本文包括两个主题:

  1. 什么是冒泡排序?

  2. SCL冒泡排序实例

cover.png

1、什么是冒泡排序?

冒泡排序是排序算法的一种,包括升序和降序两种模式。以升序为例,它遍历数组中的所有元素,并把两个相邻的数进行比较,如果左边的数大于右边的数,则两者互换(降序是左边小于右边则互换);重复这个过程直到任何两个元素都完成比较。在比较的过程中,小的数值会像气泡一样慢慢"浮"到数组序列的前端,因此称为"冒泡"排序。如下图所示:

bubbleSort_dynamic_pic.gif

2、SCL冒泡排序实例

新建函数FC101_BubbleSort,声明参数如下图所示:

variable.PNG

其中:

  • mode:指示排序的方式,升序或降序;

  • arraySort是要排序的数组;

在代码区编写代码如下:

code.png

这段代码我已经实际测试过了,后续我录个视频给大家演示一下。如果你有任何问题欢迎留言。你也可以点击文章上方的话题链接查看我之前的SCL文章。

我的微信视频号以视频的方式分享工控小知识,欢迎扫描下面的二维码观看:

founderchip.png

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论

牛年到,祝福到!

祝愿大家在新的一年里,身体健康,工作顺利,财运滚滚,牛年大吉!

×