1. 程式人生 > >ABAP-二分法搜尋(BINARY SEARCH)

ABAP-二分法搜尋(BINARY SEARCH)

ABAP-二分法搜尋(BINARY SEARCH

SORT GL_DATA_SO1[] BY VBELN_SO1 POSNR_SO1 .
READ TABLE GL_DATA_SO1 WITH KEY VBELN_SO1 GN_DATA_SO1-VBELN_SO1 POSNR_SO1 GN_DATA_SO1-POSNR_SO1 BINARY SEARCH .

值得注意的是進行二分法搜尋之前一定要根據read

的搜尋鍵對內表進行排序,否則會導致搜尋失敗

 

如果將排序註釋掉則會搜尋失敗:

二分法搜尋的原理是:

首先根據搜尋鍵對內表排序(一定要升序排序)

之後讀取內表的中間條目,如果該條目的搜尋鍵值小於你的設定鍵值則去尋找內表的上半部分,反之則尋找下半部分,然後進入下一個搜尋週期,直到找到為止。

所以每一個週期都會令下一個週期的搜尋範圍減小一般,是效率極高的搜尋方式。