插入排序
(*声明*)
PROGRAM MAIN
VAR
Arr:ARRAY[0..10]OF INT;
ArrLen:INT;
i:INT;
k:INT;
ki:INT;
Number:INT;
END_VAR
(*主要程序*)
FOR i:=1 TO 10 BY 1 DO
FOR ki:=i-1 TO 0 BY -1 DO
IF Arr[i]< Arr[ki] THEN
Number:=Arr[i];
Arr[i]:=Arr[ki];
Arr[ki]:=Number;
END_IF
END_FOR
END_FOR
高位往低位排序
要求确认下标高位、数组长度;
第一个循环中
迭代1>> n>n-1
迭代2>> n>n-2
(*声明*)
PROGRAM MAIN
VAR
Arr:ARRAY[0..10]OF INT;
ArrLen:INT;
i:INT;
k:INT;
ki:INT;
Number:INT;
Ctrl:BOOL;
fbR_TRIG:R_TRIG;
END_VAR
(*主要程序*)
fbR_TRIG(CLK:=Ctrl);
IF fbR_TRIG.Q THEN
FOR i:=10 TO 1 BY -1 DO
k:=i-1;
FOR ki:=k TO 0 BY -1 DO
IF Arr[i]> Arr[ki] THEN
Number:=Arr[i];
Arr[i]:=Arr[ki];
Arr[ki]:=Number;
END_IF
END_FOR
END_FOR
END_IF