数据结构—BF字符串模式匹配
原理:参考趣学数据结构
代码:
#include<stdio.h>
#include<stdlib.h>
int BF(char * S, char* T,int pos,int n,int m) {//暴力算法求解子串T在S中第一次出现的位置
int i = pos, j = 0;
while (i <= n && j <= m) {
if (S[i] == T[j]) {
i++;
j++;
}
else {
i = i - j + 2;
j = 0;
}
}
if (j = m+1) {//返回查找成功子串的初始位置
printf("查找成功子串的初始位置为:%d\n", i - j);
return i - j;
}
printf("查找子串失败!\n");
return -1;
}
int main() {
char S[7] = "fagass";
char T[4] = "ass";//'\0'字符串结束的标识
BF(S, T, 0,5, 2);
printf("\n");
system("pause");
return 0;
}