小白KMP演算法遇難,求大佬相救

花開花落花常在發表於2020-09-23

小白練習KMP演算法遇到難題了,求大佬相助*—*

#include <iostream>
#include <cstdio>
#include<algorithm>
#include<cstdlib>
#include<queue>
#include<cmath>
#include<cstring>
#include<string>

typedef struct {
	char ch[100];
	int length;
}SString;

void get_next(SString T, int next[]);
int Index_KMP(SString S, SString T, int pos);

int main(void) {
	SString T, S;
	T.ch[] = "abcbbc";
	S.ch[] = "abcccabcbbc";
	int i, j;
}


int Index_KMP(SString S, SString T, int pos) {
	int i = pos,j = 1;
	while (i <= S.length && j <= T.length) {
		if (j == 0 && S.ch[i] == T.ch[j]) {
			++i; ++j;
		}
		if (j > T.length)return i - T.length;
		else return 0;
	}
}

void get_next(SString T, int next[]) {
	int i = 1;
	int j = 0;
	next[1] = 0; 
	while (i < T.length) {
		if (j == 0 || T.ch[i] = T.ch[j]) {
			++i; ++j; next[i] = j;
		}
		else { j = next[j]; }
	}
}


在這裡插入圖片描述
在這裡插入圖片描述

相關文章