恭喜,你发布的帖子
发布于 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;
请填写推广理由:
分享
只看
楼主