实验报告一串匹配问题
班级:_计算机师学号:2姓名:_
一、实验题目:给定一个文本,在该文本中查找并定位任意给定字符串。
二、实验目的:
(i)深刻理解并掌握蛮力法的设计思想;
(2)提高应用蛮力法设计算法的技能;
(3)理解这向右移动的距离,直到整个匹配过程的结束。
BE算法:
#include<>
#include<>
#include<>
main()
{
chars[100];
chart[100];
inti,a,b,m,n;
printf("*****pleaseinputastring:");
scanf("%s",s);
printf("pleaseinputsearchstring:");
scanf("%s",t);
m=strlen(s);
n=strlen(t);
printf("*******BF********\n");
for(i=0;i<m;i++)
{
b=0;
a=i;
while(s[a]==t[b]&&b!=n)
{
a++;
b++;
}
if(b==n)
{
printf("success!\n");
return0;
}
}
printf("nofound!:%s\n\n",&t);
return0;
)
*C:\DocuientsandSett*trat桌面\
HMMMMpleaseinputasti'infij:123456789rpleaseinputsearchstring=2345678MNM'MMM国DF・■MMM■MM
ESLLCCeSsf
Pressanykeytocontinue
KM嚓法:
供include<>供include<>供include<>main()
[
chars[100];
chart[100];
inti,a,b,m,n;
printf("*****pleaseinputastring:");
scanf("%s",s);
printf("pleaseinputsearchstring:");
scanf("%s",t);
m=strlen(s);
n=strlen(t);
printf("*******KMP********\n");
for(a=0;a<=m-n;a++)
{
b=0;
while(s[a]==t[b]&&b!=n)
a++;
b++;
}
if(b==n)
{
printf("success!\n");
return0;
}
else
{
b=b+1;
a=a-b;
}
if(b=-1)
{b++;}
elsereturn0;
printf("nofound!:%s\n\n",&t);
return0;
♦r^C:\Dccuientsand§名七士111名£\虫(1>”1:1总tr桌面e/e
:1234
|plea写einputsearchstring:1234
NNMKKH展KMPWWMMKWMW
successf
Ppe
串匹配BM算法、KMP算法、BF算法 来自淘豆网m.daumloan.com转载请标明出处.