首页 > 代码库 > 关于 使用Binary Search (二分法)遇到的一些问题

关于 使用Binary Search (二分法)遇到的一些问题

READ命令使用顺序查找数据表,这会降低处理速度。取而代之,使用binary search的附加命令,可以使用二分查找算法,可以帮助加快内表查找速度。 在使用binary search之前必须首先将内表排序,否则有可能找不到记录,因为二分查找反复将查找区间对半划分,如果要查找的值小于查找区间的中间位置的数据项值,则查找区间将缩小到前半个区间,否则查找将局限于后半区间。然后..................

 

今天工作中写了个REPORT,当我进行Read Table 的时候,并且对象数据存在的情况下,死活都读不到数据,并且返回SY-SUBRC = 8。

sort itab by a 升

                  b 升

                  c 降

read table itab assign <ls-itab>

  with key a = aa

                b = bb

                c = cc  binary search.

这个时候就算对象数据存在于itab里,sy-subrc的值也只会返回8.

原因是使用binary search 的时候,条件字段不能使用降序处理binary search之针对升序是有效。

 

解决疑惑一点点,每天进步一点点。

关于 使用Binary Search (二分法)遇到的一些问题