恭喜,你发布的帖子
发布于 2017-11-15 10:21:29
9楼
这不是排序,只是找出数组中的最大值,放到VW200中去。
排序是由内循环和外循环组成的结构,也就是必须两个FOR-NEXT;为了避免循环体中语句过多,对于初始化程序要放在循环外部,比如你的第二段程序只是初始化指针,没必要在循环体内每次都运行,就应该和第一段程序交换一下。
阿鸣老师早期发的那段排序的确是经典算法,我在找答案里也多次看到,思路清晰,但仍然……不够简洁(没有丝毫贬损老师和楼主的意思,只是觉得阅读者应该以一种挑剔的眼光来对待,以期尽善尽美)
OPN DB1
L 10
LL0: T LB0 //原程序是MB0,使用了全局变量,一是没有必要,二是移植性不好
L P#0.0
LAR1
L 9
LL1:T LB1 //原程序是MB2,改动同上
L DBD[AR1,P#0.0]
L DBD[AR1,P#4.0]
<R
JC LL2
T DBD[AR1,P#0.0] //这里往下连续三条语句做了修改,以使循环体更加简洁
TAK //累加器本身也是暂存器,没有必要“戴着眼镜找眼镜”
T DBD[AR1,P#4.0]
LL2 +AR1 P#4.0
L LB1 //替换原MB2
LOOP LL1
L LB0 //替换原MB0
LOOP LL0
请填写推广理由:
分享
只看
楼主