【BF算法 字符】

来源:互联网 发布:软件开发人员等级评定 编辑:程序博客网 时间:2024/05/16 15:06

BF(Brute Force)算法

是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。


int BFMatch(char *s,char *p){    int i,j;    i=0;    while(i<strlen(s)){        j=0;        while(s[i]==p[j]&&j<strlen(p)){            i++;            j++;        }        if(j==strlen(p))            return i-strlen(p);        i=i-j+1;    }    return -1;}



#include<iostream>#include<cstdio>#include<cstring>using namespace std;char s[100], p[100];int BFMatch(char *s,char *p){    int i,j;    i=0;    while(i<strlen(s)){        j=0;        while(s[i]==p[j]&&j<strlen(p)){            i++;            j++;        }        if(j==strlen(p))            return i-strlen(p);        i=i-j+1;    }    return -1;}int main(){    while(~scanf("%s%s",s,p)){            if(BFMatch(s,p)!=-1)                printf("%d\n",BFMatch(s,p));            else                printf("No Match!\n");    }}


0 0
原创粉丝点击