字符串匹配算法(BF算法)

#include
#include
using namespace std;
int BF(string &M, string &N){
    int i=0, j=0;
    while (M[i] != '\0' && N[j] != '\0'){
        if (M[i] == N[j]){
            i++; j++;
        }
        else{
            i = i - j + 1;
            j = 0; 
        }
    }
    if (N[j] == '\0'){
        return (i - j);
    }
    else
        return -1;
}
int main(){
    string M;
    string N;
    cin>>M>>N;
    int weiZhi=BF(M, N)+1;   
    cout << "位置为(0;表示不存在):" << weiZhi << endl;
    system("pause");
    return 0;
}

你可能感兴趣的:(日常学习记录,日常学习,算法,动态规划,c++)