作为一种高级语言,SCL比梯形图、功能块图等语言更擅长数据的处理。在实际项目中我们可能需要对数组中的数值进行排序,这种情况使用梯形图或功能块图编写程序会比较复杂,使用SCL就能轻松处理。今天这篇文章,我给大家介绍下如何使用SCL编程实现冒泡排序。本文包括两个主题:
什么是冒泡排序?
SCL冒泡排序实例
1、什么是冒泡排序?
冒泡排序是排序算法的一种,包括升序和降序两种模式。以升序为例,它遍历数组中的所有元素,并把两个相邻的数进行比较,如果左边的数大于右边的数,则两者互换(降序是左边小于右边则互换);重复这个过程直到任何两个元素都完成比较。在比较的过程中,小的数值会像气泡一样慢慢"浮"到数组序列的前端,因此称为"冒泡"排序。如下图所示:
2、SCL冒泡排序实例
新建函数FC101_BubbleSort,声明参数如下图所示:
其中:
mode:指示排序的方式,升序或降序;
arraySort是要排序的数组;
在代码区编写代码如下:
这段代码我已经实际测试过了,后续我录个视频给大家演示一下。如果你有任何问题欢迎留言。你也可以点击文章上方的话题链接查看我之前的SCL文章。
注意:本文的算法在某些情况下会出现错误,原因是SCL数组的上下限可以自由定义。更新版的算法请看下面的文章:
我的微信视频号以视频的方式分享工控小知识,欢迎扫描下面的二维码观看:
发表评论
编辑正确,但是下载后CPU诊断“区域长度错误“而无法启动CPU(黄色LED)