erfengchazhao

#include<cstdio>
int main (){
int sizearray;
scanf("%d",&sizearray);
int tap[200002];
for(int i=1;i<=sizearray;++i){
scanf("%d",&tap[i]);
}
int findsize;
scanf("%d",&findsize);
int findtap[200002];
for(int i=1;i<=findsize;i++){
scanf("%d",&findtap[i]);
}
int findnum;
int middle,index;
bool flag;


for(int i=1;i<=findsize;++i){
int endpoint=sizearray,beginpoint=1;
flag=0;
findnum=findtap[i];
while(endpoint>beginpoint){
middle=(endpoint+beginpoint)/2;//这个除以是会偏小的,当开头指针与尾指针,相邻,这个时候就会取前指针,而后指针没有被比较的机会了
if(tap[middle]==findnum){
index=middle;
flag=1;
break;
}
else{
if(tap[middle]<findnum){
beginpoint=middle+1;//前指针会被比较,所以直接等于没比较的过的就好啦
}
else{
endpoint=middle;//后指针不会被比较,所以等于比较的过的
}

}

}
if(flag==1)
printf("%d\n",index-1);
else printf("Not Found\n");
}

}

上一篇:IntelliJ IDEA中项目的包和目录结构显示设置


下一篇:解题报告 完数