有序表的折半查找

输入:

T(有序表中数的个数)

输入T个数,按照大小顺序输入

key输入需要查找的数

输出:

如果有这个数则输出这个数在有序表中是第几个,否则输出NO!

input:

10

1  16  24  35  47  59  62  73  88  99

62

output:

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 *)malloc((T+1)*sizeof(int));
	a[i++]=0;
	while(i

 

你可能感兴趣的:(数据结构)