作为最原始的字符串匹配算法,它的时间复杂度是O((n-m+1)m)
#include /"stdio.h/"
//计算字符串的长度
int Length(char *s)
{
int count=0;
while(*s++!=///0/)
count++;
return count;
}
//字符串匹配
void NaiveStringMatching(char *t,char *p)
{
int n=Length(t);
int m=Length(p);
if(n { printf(/"Error:The P is longer than T!//n/"); return; } bool find=true; printf(/"The string T is %s//n/",t); printf(/"The string P is %s//n/",p); for(int s=0;s<=n-m;s++) { find=true; for(int i=0;i { if(t[s+i]!=p[i]) { find=false; break; } } if(find) printf(/"Pattern occurs with shift:%d//n/",s+1); } } int main() { char t[]=/"abcdebcg/"; char p[]=/"bcdebcg/"; NaiveStringMatching(t,p); return 0; }
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。