#include <iostream>
#include<string.h>
using namespace std;
int NaiveStrMatching(string T,string P) //朴素的字符串匹配函数
{
int p=0,t=0;
int plen = P.length();
int tlen = T.length();
if(tlen<plen) return -1;
while(p<plen&&t<tlen)
{
if(T[t]==P[p])
{
p++;
t++;
}
else
{
t=t-p+1;
p=0;
}
}
if(p>=plen)
return t-p;
else
return -1;
}
int main()
{
string s1="cococola",s2="cola";
int n = NaiveStrMatching(s1,s2);
cout<<"相同部分起始位置:"<<n<<endl;
return 0;
}
#include<string.h>
using namespace std;
int NaiveStrMatching(string T,string P) //朴素的字符串匹配函数
{
int p=0,t=0;
int plen = P.length();
int tlen = T.length();
if(tlen<plen) return -1;
while(p<plen&&t<tlen)
{
if(T[t]==P[p])
{
p++;
t++;
}
else
{
t=t-p+1;
p=0;
}
}
if(p>=plen)
return t-p;
else
return -1;
}
int main()
{
string s1="cococola",s2="cola";
int n = NaiveStrMatching(s1,s2);
cout<<"相同部分起始位置:"<<n<<endl;
return 0;
}