根據訂單號加物料號 作為查詢key
二分查詢資料為下
"二分查
loop at lt_resb assigning field-symbol().
read table gt_resb into gs_resb with key aufnr = -aufnr
matnr = -matnr
binary search.
if sy-subrc = 0.
if lv_index = 0.
lv_index = sy-tabix. "第一次查詢
else.
lv_index2 = sy-tabix. "第二次查詢
endif.
endif.
endloop.
"非二分查
loop at lt_resb assigning .
read table gt_resb into gs_resb with key aufnr = -aufnr
matnr = -matnr
.if sy-subrc = 0.
if lv_index3 = 0.
lv_index3 = sy-tabix. "第一次查詢
else.
lv_index4 = sy-tabix. "第二次查詢
根據除錯結果 可以發現 二分查詢的行號索引 和普通查詢的行號索引 一致
二分查詢可能並不是單純從中間取數
可能剛開始查數 從中間查擴充套件兩邊查詢 但最後也做了其他處理 保證查詢時 取到第一條符合條件的行號索引
換下另一種情況查詢資料
結果一致
順序查詢 二分查詢 索引查詢
1.查詢技術的分類。如下圖 2.什麼是順序查詢呢?無序表 順序查詢的原理很簡單,就是遍歷整個列表,逐個進行記錄的關鍵字與給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功,找到所查的記錄。如果直到最後乙個記錄,其關鍵字和給定值比較都不等時,則表中沒有所查的記錄,查詢失敗。時間複雜度是o n 3....
二分查詢邊界索引
問題說明 給你乙個公升序整數陣列nums,和乙個目標值target,請返回它在nums陣列中的左邊界索引和右邊界索引 例如 nums target 3,那麼就應該返回左邊界索引2和右邊界索引4 問題分析 我們先看如果是平常我們熟悉的二分查詢法,找到乙個值就返回它的索引,這種 是這樣的 public ...
二分查詢的平均查詢長度 二分查詢
資料的查詢在計算機的操作中非常常見,那麼我們應該怎樣在計算機中實現查詢操作呢?最簡單的一種方法 傻找 也就是乙個乙個的找,我們把陣列中的每個元素都和我們想要查詢的目標元素進行比對,看一下列表中是否有和這個元素相同的元素,如果我們想要尋找的那個目標元素在列表 現了,那麼就宣告查詢成功,這種演算法寫成 ...