C語言習題 折半查詢

2021-08-06 01:46:04 字數 874 閱讀 2411

time limit: 1 sec  

memory limit: 128 mb

submit: 1829  

solved: 687 [

submit][

status][

web board]

有n個數(n<20),已按從大到小順序存放在乙個陣列中,輸入乙個數,要求用折半查詢法找出該數是陣列中的第幾個元素的值。如果不在陣列中輸出0。

要求: 編寫兩個函式input和binbearch分別實現陣列資料的輸入和元素的查詢。

第一行陣列元素的個數n

第二行n個陣列元素的值

第三行要查詢的值

查詢的值在陣列中的位置

10

10 9 8 7 6 5 4 3 2 1

5

6

主函式已給定如下,提交時不需要包含下述主函式

/* c** */

int main()

/* c++** */

int main()

#include #include void input(int *a,int n)

int binsearch(int *a,int n,int value)

if(value<*(a+t))

p=t+1;

else q=t-1;

t=(p+q)/2;

}return t;

}

一般二分查詢:

#include #include void input(int a,int n)

Problem A C語言習題 折半查詢

time limit 1 sec memory limit 128 mb submit 3306 solved 1441 submit status web board 有n個數 n 20 已按從大到小順序存放在乙個陣列中,輸入乙個數,要求用折半查詢法找出該數是陣列中的第幾個元素的值。如果不在陣列中...

折半查詢(C語言)

如果所有數字按照某種順序排列好就可以每次用中間位置的數字和要查詢的數字做對比,這樣一次可以排除一半的數字。不斷重複這個過程就可以很快找到目標數字的位置。折半查詢 include int half search const int p start,constint p end,int num else...

折半查詢(C語言)

題目 有15個資料由小到大順序存放在乙個陣列中,輸入乙個數,要求使用折半查詢法查詢該數是陣列中的第幾個元素 如果該數不存在,則輸出,沒有此數 有15個資料由小到大順序存放在乙個陣列中,輸入乙個數,要求使用折半查詢法查詢該數是陣列中的第幾個元素 如果該數不存在,則輸出,沒有此數 include def...