龙空技术网

冒泡排序_200 smart

朝拾忆 1242

前言:

此时兄弟们对“编写冒泡排序算法使结果从大到小”大致比较珍视,看官们都想要分析一些“编写冒泡排序算法使结果从大到小”的相关内容。那么小编同时在网上汇集了一些有关“编写冒泡排序算法使结果从大到小””的相关文章,希望大家能喜欢,朋友们快快来学习一下吧!

冒泡排序: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程序将进入下一运行周期,该周期结束后,所有数据中第二大的值将排序在倒数第二位置......以此类推,数据最终会从小到大排列好。

标签: #编写冒泡排序算法使结果从大到小