字符串匹配,如何优化问题
这个程序是用简单模式匹配实现字符串找子串功能,程序以及功能实现不会错,但是这不是最优的简单匹配算法,我想不出怎么去优化,希望大家一起想想,有想法的就提出来,看能不能通过。#include <stdio.h>
#include <string.h>
#define SIZE 10001
int s_length;
int t_length;
int compare(char *s,char *t)
{
int i;
int j;
int k;
for(i=0;i<=s_length-t_length;i++)
{
for(j=0;j<t_length;j++)
{
if(s[k]==t[j])
k++;
else
break;
}
if(j==t_length)
return 1;
}
return 0;
}
int main()
{
int N;
char s[SIZE];
char t[SIZE];
while(scanf("%d",&N)!=EOF)
{
while(N--)
{
scanf("%s",s);
scanf("%s",t);
s_length=strlen(s);
t_length=strlen(t);
if(compare(s,t))
printf("yes\n");
else
printf("no\n");
}
}
return 0;
}