当前位置: 代码迷 >> 综合 >> 字符串模式匹配算法 BF算法
  详细解决方案

字符串模式匹配算法 BF算法

热度:96   发布时间:2024-02-26 15:28:04.0

#include <iostream>
#include<bits/stdc++.h>
using namespace std;
//字符串均以#开头,但#不算在字符串内容里
typedef struct{
char ch[100];
int length;
}SString;
void IndexBF(SString s,SString t);
int main()
{
    SString s,t;
    scanf("%s%s",s.ch,t.ch);
    s.length=strlen(s.ch)-1;
    t.length=strlen(t.ch)-1;
    IndexBF(s,t);
    //cout << "Hello world!" << endl;
    return 0;
}
void IndexBF(SString s,SString t){
int i=1,j=1;
while(i<=s.length&&j<=t.length){

    if(s.ch[i]==t.ch[j]){
        i++;
        j++;
    }
    else{
        i=i-j+2;
        j=1;
    }
}

if(j>t.length) cout<<"success"<<"  "<<i-t.length;
else cout<<"fail";

}
 

  相关解决方案