网站首页 > 精选教程 正文
冒泡排序:Bubble Sort,是一种最基础的交换排序算法。从任一序列首位开始,每次比较两个相邻的元素,交换排列顺序错误的元素,反复进行上述操作,直至序列中所有元素按照一定的顺序进行排列。
以下是使用西门子200 smart PLC实现该功能的简易程序(官方有提供):
主程序:
待排序元素序列的起始地址预设为VB0,数据量预设为7个,并在数据块内添加7个字类型元素。
子程序:
段①:创建指针AC1,使用“移动双字指令”,将VB0的地址放入指针AC1(如果放在主程序里,"#起始地址:LD1"就是"&VB0");指针即地址;
段②:使用For-Next循环指令,循环计数从2到7,即PLC的每个运行周期该指令循环执行6次(n个数据按顺序两两比较,需要n-1次);
段③:每次循环开始,先确定首对元素的地址AC1、AC2,然后对地址的值*AC1、*AC2比较大小。当第一个元素大于第二个元素,交换数值;否则,不做处理。最后,指针偏移指向下对元素首地址。(元素是字类型,故偏移量均为2)
段④:循环结束。至此,所有数据中的最大值将排序在最后。
之后,PLC程序将进入下一运行周期,该周期结束后,所有数据中第二大的值将排序在倒数第二位置......以此类推,数据最终会从小到大排列好。
- 上一篇: 微服务架构 | 如何让接口权限继续继承下去?
- 下一篇: VBA冒泡排序,编程基础必学课
猜你喜欢
- 2024-12-05 C语言 第八章 冒泡法排序
- 2024-12-05 Scratch少儿编程,冒泡排序法
- 2024-12-05 冒泡排序从入门到放弃
- 2024-12-05 十大经典排序(2)——冒泡排序
- 2024-12-05 用Python写一个冒泡排序代码含注释说明。
- 2024-12-05 冒泡排序——C语言
- 2024-12-05 VBA冒泡排序,编程基础必学课
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 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)
本文暂时没有评论,来添加一个吧(●'◡'●)