C語言折半查詢法

2021-05-28 07:12:19 字數 639 閱讀 2352

#include

int find(int x,int y,int n);

int main(void)

int a=;

int b=12;

int f;

f=find(b,a,c);

if(f==-1)

printf("can not find element b in arry a\n");

else

printf("find element b in arry a:the %dth element\n",f);

return 0;

//折半查詢法,用代查元素的個數與有序陣列的中間元素進行比較,

//若是大於中間的元素,則在後一半繼續查詢,否則在前一半進行查詢

int find(int x,int y,int n)

int mid;

int low=0;

int high=n-1;

while(low<=high)

mid=(low+high)/2;

if(xhigh=mid-1;

else if(x>y[mid])

low=mid+1;

else

return mid+1;

return -1;

C 折半查詢法練習

include using namespace std int main cout 輸入個要查詢的數 cin x for left 0,right n 1 left right middle left right 2 if x a middle break else if x以下內容來自網路 原理 ...

折半查詢(C語言)

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

折半查詢(C語言)

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