58同城石家庄网站建设,哪个公司的卡网络最好,如何寻找一批做网站的公司,国企网站建设标准使用博图SCL语言来实现先入先出排序 前言
使用SCL完成一个先入先出排序
具体要求#xff1a;最先输入的一个数值#xff0c;最先输出出来#xff0c;下面的数自动向前填充#xff1b;
注#xff1a;这里可能有两种理解#xff1a;一是第一个输入的第一个出来#xff… 使用博图SCL语言来实现先入先出排序 前言
使用SCL完成一个先入先出排序
具体要求最先输入的一个数值最先输出出来下面的数自动向前填充
注这里可能有两种理解一是第一个输入的第一个出来二是最后一个输入的第一个出来
这里我们都来实现一下。 数组变量建立 记得在主程序调用函数块 编写实现
1.我们先要获取输入进来的值然后存放到一个数组中
首先判断输入的值是否大于0然后进入for循环这里以0..5为例在for循环中判断数组中哪一个为0找到后将输入值放在为0的数组中然后清零退出循环。
第1步存放输入值就完成了。
IF #输入值 0 THENFOR #N : 0 TO 5 DOIF #SC[#N] 0 THEN#SC[#N] : #输入值;#输入值 : 0;EXIT;END_IF;END_FOR;
END_IF;
2.第1个存进来的数第1个出来 输出按钮控制通断for循环来遍历数组如果找到数组不等于0那么就是为真的就将里面的值存放在一个变量中然后将数组的值和按钮清零退出循环
这里我们就找到了第一个存进来的数值。
IF #输出按钮 THENFOR #S : 0 TO 5 DOIF #SC[#S] 0 THEN#输出值 : #SC[#S];#SC[#S] : 0;#输出按钮 : 0;EXIT;END_IF;END_FOR;
END_IF; 3.下面数组自动向前填充 我们输出过之后数组中就为0了那怎么才能补上去呢
这里我们用for循环进行一个判断判断里面是否有一个为0如果为0就将下一个数组的数补充上去以此类推直至填充完成。
注这里I1会导致数组越界所以上面的数组数量要再加1才可以
FOR #I : 0 TO 5 DOIF #SC[#I] 0 #SC[#I1]0 THEN#SC[#I] : #SC[#I 1];#SC[#I 1] : 0;END_IF;
END_FOR;
4.触摸屏演示 5.这里我们在看一下第2种理解最后输入的最先输出 这里我们只要将输出时的循环顺序修改为逆序就可以了S从5到1来开始循环。 以上就是先入先出排序法的全部内容了。