二分法查詢乙個值在陣列中的位置 --小明同學
這個查詢方法是需要一些邏輯性的,不多說了,下面直接上**例項
首先,用二分法的話陣列必須是乙個有序的陣列,可以從大到小也可以從小到大,下邊我給的是陣列從小到大排列的方法:
$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 這個元素就是中間元素 ...