假设现在有这样一个问题:有一个文本串S,和一个模式串P,现在要判断S中是否有和P匹配的子串,并查找P在S中的位置,怎么解决呢?这篇文章就为大家介绍了关于这个问题求解的两种算法。
一、BF算法
BF(Brute Force)算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。
代码实现:
#include<stdio.h>
#include<string.h>
int BFMatch(char* s,char* p)
{
int i,j;
i = 0;
//第一层循环,i不断遍历
while(i < strlen(s