WA声一片 T T
查看原帖
WA声一片 T T
452295
DUCK_lnbby楼主2021/7/9 19:53
#include<stdio.h>
#include<stdlib.h>
int search(int * array,int start,int end,int result){
	int i;
	if(array[start]==result) return start+1;
	else if(array[end]==result) return end+1;
	else if(start>=end) return -1;
	
	if(array[(int)(start+end)/2]>result){
		search(array,start+1,((int)(start+end)/2)-1,result);
	}else if(array[(int)(start+end)/2]<result){
		search(array,((int)(start+end)/2)+1,end-1,result);
	}else if(array[(int)(start+end)/2]==result){
		return ((int)(start+end)/2)+1;
	}
}
int main()
{
	int n,m,i,x;
	int * array;
	scanf("%d%d",&n,&m);
	array=(int *)malloc(sizeof(int)*n);
	for(i=0;i<n;i++){
		scanf("%d",&array[i]);
	}
	for(i=0;i<m;i++){
		scanf("%d",&x);
		printf("%d ",search(array,0,n-1,x));
	}
	return 0;
}
2021/7/9 19:53
加载中...