KMP算法是什么
KmP算法查找串s中含串P的个数count
#include #include #include using namespace std; inline void neXt(const string& t,vector& next) { //按模式串生成vector,next(t.size()) next[0]=-1; for(int i=1;i=0 ) j=next[j] ; //递推计算 if(t==t[j+1])next=j+1; else next=0; // } } inline string::size_type count_KmP(const string& s, const string& t) { //利用模式串t的next函数求t在主串s中的个数count的KmP算法 //其中t非空, vector next(t.size()); neXt(t,next); string::size_type index,count=0; for(index=0;index