回复 7楼 cb_1212
呃呃 我明白你的意思了。但是可以用折半查找的办法写么?我写的那个怎么改才对呢?用顺序查找很费时。
程序代码:#include<iostream>
using namespace std;
bool search(int key,int min,int max,int* a) // 这里你传递指针
{
while(min<=max)
{
if(key == a[min++]) return 0;
}
return 1; //查找失败返回-1
}
int main()
{
int i,n,m,key;
int a[100000];
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
while(m--)
{
scanf("%d",&key);
if(search(key,0,n-1,a))
printf("NO\n");
else printf("YES\n");
}
return 0;
}
