回复:用SCL语言编写一个特殊的冒泡程序

宁超

  • 帖子

    1009
  • 精华

    39
  • 被关注

    373

论坛等级:至圣

注册时间:2012-12-11

普通 普通 如何晋级?

发布于 2015-12-03 18:32:26

4楼

输入的无序的实数都使用UDT1,UDT1内有realValue和intValue 分别代表你的实数和整数编号

将这些数据传送到静态变量区或临时区去运算如Data

Data是数组,Data [1..Num]of UDT1


比较实数大小,比较产生排序动作时,连编号一起交换位置。(内循环外循环冒泡) 

DataSwip也是UDT1,用于冒泡时暂存要被交换的值。   

     FOR ExtCyc:=1 TO (Num - 1) BY 1 DO  
         FOR IntCyc:=1 TO (Num - ExtCyc) BY 1 DO 
             IF Data[IntCyc].realValue > Data[IntCyc + 1].realValue THEN 
                DataSwip:=Data[IntCyc];
                Data[IntCyc]:=Data[IntCyc + 1];
                Data[IntCyc + 1]:=DataSwip; 
             END_IF;
         END_FOR;       
      END_FOR;

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54771条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。