#结构#
在本篇文章中,作者将与大家一起来了解字符串的朴素模式匹配算法以及它的代码实现。
在之前的文章中,我们已经了解字符串以及其相关操作,那么什么是字符串的模式匹配呢?
01字符串的模式匹配
其实,字符串的模式匹配就是子串定位运算,它的目的就是确定主串中子串第一次出现的位置。
在这里,我们需要注意的是子串和模式串的区别,字串指的是主串的一部分,是一定存在的,而模式串则不一定可以在主串中找到。
02朴素模式匹配算法
朴素模式匹配算法,顾名思义,它是非常“朴素”的。通俗来说,这种算法就是暴力进行比对,将主串中的所有与模式串长度相等的子串与模式串进行一一比对。
接下来我们就来看看如何用代码实现朴素模式匹配算法:
intIndex1(SStringS,SStringT){
inti=1,j=1;
while(i=S.lengthj=T.length){
if(S.ch==T.ch){
++i;++j;
//TODO
}else{
i=i-j+2;
j=1;
}
//TODO
}
if(jT.length){
returni-T.length;
//TODO
}else{
return0;
}
}
本篇文章到此就结束了,欢迎大家