二分法查詢乙個值在陣列中的位置

2021-08-20 18:01:11 字數 476 閱讀 3388

二分法查詢乙個值在陣列中的位置 --小明同學

這個查詢方法是需要一些邏輯性的,不多說了,下面直接上**例項

首先,用二分法的話陣列必須是乙個有序的陣列,可以從大到小也可以從小到大,下邊我給的是陣列從小到大排列的方法:

$arr =array(2,4,8,9,10,12,14,16,18,22,36,46,54);  

$low = 0;   //要查詢範圍的最小鍵值

$search = 22;  //要查詢的值

$high = count($arr)-1;  //計算出陣列的長度

while($low

<= $high)elseif($arr[$mid] > $search)else

}這樣就可以直接獲取到要查詢的值所在的下標位置了.

二分法查詢陣列中的值

public class main 宣告中間值 int middle 0 宣告開始值 int start 0 查詢的值為3,在該陣列中查詢值為3的元素 int value 3 宣告結束值 int end nums.length 用for迴圈是知道迴圈的次數,此處用while是因為不知道能迴圈多少次,...

二分法在陣列中查詢關鍵字

此程式演示了二分法查詢演算法 針對按從小到大排列的陣列 的實現。include using namespace std 功能 實現陣列的二分法查詢 只演算法只適合按從小到大排列的陣列 返回值 關鍵字在陣列中的下標,返回 1表示未找到 a 要搜尋的陣列 len 陣列元素個數 key 要查詢的關鍵字 i...

陣列中的二分法查詢

二分法查詢 第一 二分法中查詢建立在排序的基礎之上。第二 二分法查詢效率要高於 乙個挨著乙個 的這種查詢方式。第三 二分查詢法原理?10 0下標 23 56 89 100 111 222 235 500 600 目標 找出600下標 0 9 2 4 中間元素的下標 arr 4 這個元素就是中間元素 ...