void KMP(char* T, char* P){
int i, n, m, k;
n = strlen(T); m = strlen(P);
for(k = -1, i = 0; i < n; i++){
while(k > -1 && P[k+1] != T[i]) k = pre[k];
if(P[k+1] == T[i]) k++;
if(k == m-1){
cout << "Pattern occurs with shift " << i - m + 2 << endl
相关下载链接:
//download.csdn.net/download/kwwxxx/8481215?utm_source=bbsseo