kmp算法实现(c语言)

kmp算法实现(c语言)

这个kmp算法思路,以及其中的next[]数组的解释可以说是我看过最详细的了,附上链接

#include 
#include 
#include 

void getnext(char *p,int *next)
{
	int len=strlen(p);
	int k=-1;
	int j=0;
	next[0]=-1;
	printf("\n j= %d next[0]%d",j,next[j]);
	while(j=pLen)
		return(i-j);
	return 0;

} 
int main(){
	int next[50],n;
	char s[100] = "babababababababacabaabbababaabaababacabababababbcababbabababcababba";
    char p[50] = "ababacab";
    printf("\n实现如下:");
    printf("\n s[] =%s:",s);
    printf("\n p[] =%s:",p);
    getnext(p,next);
    n=kmp(s,p,next);
    printf("\n匹配的位置为 %d",n);
    return 0;
	 
} 

你可能感兴趣的:(数据结构基础)