秩序表の半値検索
656 ワード
入力:
T(順序表の数)
T個の数を入力し、サイズ順に入力します.
keyは検索する数を入力します.
出力:
この数があれば、この数を出力するのは順序表の中で何番目ですか?そうでなければ、NOを出力します.
input:
10
1 16 24. 35 47 59 62 73. 88. 99
62
out put:
NO.7
T(順序表の数)
T個の数を入力し、サイズ順に入力します.
keyは検索する数を入力します.
出力:
この数があれば、この数を出力するのは順序表の中で何番目ですか?そうでなければ、NOを出力します.
input:
10
1 16 24. 35 47 59 62 73. 88. 99
62
out put:
NO.7
#include
#include
int Binary_Search(int *a,int n,int key)
{
int low,high,mid;
low=1;
high=n;
while(low<=high)
{
mid=(low+high)/2;
if(keya[mid]
low=mid+1
else
return mid;
)
return 0;
)
int main()
{
int T,key,i=0
int*a;
scanf("%d"、&T);
a=(int*)mallec((T+1)*sizeof(int);
a[i+]=0
while(i