数据结构——BF

#include<stdio.h>
#include<string.h>
using namespace std;
const int maxn=1e5+10;
int la;
int lb;
int ant=0;
char a[maxn];
char b[maxn];
int abc(int x)
{
	for(int i=x;i<lb+x;i++)
	{
		ant++;
		if(a[i]!=b[i-x])
			return 0;
	}
	return 1;
}
int main()
{
	int i;
	printf("请输入主串和子串:\n");
	scanf("%s %s",a,b);
	la=strlen(a);
	lb=strlen(b);
	if(la<lb)
		printf("未查找到\n");
	else
	{
		for(i=0;i<la-lb+1;i++)
		{
			if(abc(i))
			{
				printf("位置:%d\n",i+1);
				break;
			}
		}
		if(i==la-lb+1)
			printf("未查找到\n");
	}
	printf("对比次数:%d\n",ant); 
	return 0;
}
发布了40 篇原创文章 · 获赞 2 · 访问量 869

猜你喜欢

转载自blog.csdn.net/qq_43851311/article/details/102918030