打开APP
userphoto
未登录

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

开通VIP
西门子结构化编程实现数组排序

【导读】通过冒泡法升序或降序模式排序数组。该例程已在博途V15.1环境下测试通过!

(1)升降序排序算法说明:

升降序排列时,冒泡排序算法的运作如下:

  • 比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。

  • 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。

  • 针对所有的元素重复以上的步骤,除了最后一个。

  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

(2)OB1中子程序调用,如下图所示:

(3)子程序变量声明表,如下图所示:

(4)模式为1为升序,其运行结果,如下图所示:

(5)模式为0为降序,其运行结果,如下图所示:

(6)SCL代码,如下图所示:

(7)SCL代码(复制可用)

IF #Enable THEN

    //获取数组上限

    #L := LOWER_BOUND(ARR := #Array, DIM := 1);

    //获取数组下限

    #H := UPPER_BOUND(ARR := #Array, DIM := 1);

    //冒泡法排序

    FOR #i := #L TO #H-1 DO

        FOR #j := #L TO #H-1-#i DO

            IF #Mode THEN

                //升序排列

                IF #Array[#j] > #Array[#j + 1] THEN

                    #temp1 := #Array[#j];

                    #Array[#j] := #Array[#j + 1];

                    #Array[#j + 1] := #temp1;

                END_IF;

            ELSE

                //降序排列

                IF #Array[#j] < #Array[#j + 1] THEN

                    #temp1 := #Array[#j];

                    #Array[#j] := #Array[#j + 1];

                    #Array[#j + 1] := #temp1;

                END_IF;

            END_IF;

        END_FOR;

    END_FOR;

END_IF;

(8)程序编制注意事项:

  • 数组上限自动获取函数的使用

  • 数组下限自动获取函数的使用

  • FOR循环的嵌套使用

  • FOR循环的循环变量和数组上下限的配合

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
华为机试HJ101:对数组元素按照升序或降序进行排序
Excel – 多条件排序就用 sortby 函数
excel快速排序技巧,如何使用SORTBY函数对数据进行排序
PHP 5 Array 函数 | 菜鸟教程
Excel函数:SORT函数与SORTBY函数
PHP 数组排序方法总结 推荐收藏
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服