0
点赞
收藏
分享

微信扫一扫

二分查找(折半查找)

Silence潇湘夜雨 2022-03-12 阅读 78

pta

#include<stdio.h>

int main()
{
	int i,j,l,flag;
	int m,n;
	
	int k[m],ak[m];
	int nums[m][n];
	scanf("%d",&m);
	for(i=0;i<m;i++)
	{
		scanf("%d %d",&n,&k[i]);
		ak[i]=n;
		for(j=0;j<n;j++)
		{
			scanf("%d",&nums[i][j]);
		}
	}
	for(i=0;i<m;i++)
	{
		l=ak[i];
		if(nums[i][l/2]==k[i])
		{
			printf("%d",j/2);
			flag++;
		}
		else if(k[i]<nums[i][l/2])
		{
			for(j=0;j<l/2;j++)
			{
				if(nums[i][j]==k[i])
				printf("%d",j);
				flag++;
			}
		}
		else
			for(j=l/2;j<n;j++)
			{
				if(nums[i][j]==k[i])
				printf("%d",j);
				flag++;
			}
	if(flag==0)
	printf("-1");
	}
	return 0;
	
}
举报

相关推荐

0 条评论