【导读】通过冒泡法升序或降序模式排序数组。该例程已在博途V15.1环境下测试通过! (1)升降序排序算法说明: 升降序排列时,冒泡排序算法的运作如下:
(2)OB1中子程序调用,如下图所示: (3)子程序变量声明表,如下图所示: (4)模式为1为升序,其运行结果,如下图所示: (5)模式为0为降序,其运行结果,如下图所示: (6)SCL代码,如下图所示: (7)SCL代码(复制可用) IF #Enable THEN //获取数组上限 #L := LOWER_BOUND(ARR := #Array, DIM := 1); //获取数组下限 #H := UPPER_BOUND(ARR := #Array, DIM := 1); //冒泡法排序 FOR #i := #L TO #H-1 DO FOR #j := #L TO #H-1-#i DO IF #Mode THEN //升序排列 IF #Array[#j] > #Array[#j + 1] THEN #temp1 := #Array[#j]; #Array[#j] := #Array[#j + 1]; #Array[#j + 1] := #temp1; END_IF; ELSE //降序排列 IF #Array[#j] < #Array[#j + 1] THEN #temp1 := #Array[#j]; #Array[#j] := #Array[#j + 1]; #Array[#j + 1] := #temp1; END_IF; END_IF; END_FOR; END_FOR; END_IF; (8)程序编制注意事项:
|
|