BF算法
int BF(char A[], char B[]){
int i = 0, j = 0;
while(A[i] != '\0' && B[j] != '\0'){
if(A[i] == B[j]){
i++;
j++;
}else{
i = i - j + 1;
j = 0;
}
}
if(B[j] == '\0'){
return i - j + 1;
}else{
return -1;
}
}
KMP算法:
int KMP(char A[], char B[]){
int i = 0, j = 0;
int next[80];
GetNext1(B, next);
while(A[i] != '\0' && B[j] != '\0'){
if(A[i] == B[j]){
i++;
j++;
}else{
j = next[j];
if(j == -1){
i++;
j++;
}
}
}