二分法查詢

2021-09-26 06:08:12 字數 766 閱讀 1601

對於已排序的數值串行進行查詢,查詢過程中每比較一次middle值,將查詢區間縮小一半!!直到找到資料or區間長度縮小為零。

#include using namespace std;

bool g_invalid_input = 0; //錯誤標誌

//二分法查詢元素

//返回:目標元素的下標值 0~(length - 1)

int mid_for_array(const int* array, int length, int value)

int low = 0; //查詢區間下界

int high = length - 1; //查詢區間上界

int middle = (low + high)/2; //中間元素

while (low <= high)

大於 array[middle]

if (value > array[middle])

小於 array[middle]

if (value < array[middle])

middle = (low + high)/2;

} return -1;

}int main(int argc, char const *ar**)

; int res = mid_for_array(array, sizeof(array)/sizeof(int), 1);

cout << res << endl;

return 0;

}

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

python二分法查詢 Python 二分法查詢

二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...

二分法查詢

前幾天csdn上說只有10 程式設計師能寫出正確的二分法查詢 so.我在看過二分法查詢方法後寫了乙個 一次測試成功.範圍 需要次數 10 4 100 7 1000 10 10000 14 100000 17 1000000 20 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...