串的bf算法代码
以下是串的BF算法的代码,BF算法又称暴力匹配算法,它是一种简单粗暴的字符串匹配算法,时间复杂度为O(m*n),其中m和n分别为主串和子串的长度。
void BF(string s, string t)
{
    int i = 0, j = 0;
    while(i < s.length() && j < t.length())
    {
        if(s[i] == t[j])
        {
            i++;
            j++;
        }
        else
        {
            i = i - j + 1;
            j = 0;
        }
    }
    if(j == t.length())
    {
        cout << "BF算法匹配成功,匹配的位置为" << i - j << endl;
    }
    else
    {
字符串长度17模式串长度        cout << "BF算法匹配失败!" << endl;
    }
}
在此代码中,s代表主串,t代表模式串(也就是要匹配的子串)。首先定义了两个指针i和j,i指向主串的起始位置,j指向模式串的起始位置。接下来,通过while循环遍历主串s,逐一比较s和t中的字符,若相同,则将两个指针都向后移动一位。如果当前字符不匹配,则将主串的指针i回退到上一个匹配开始的下一个位置,即i-j+1,并且将模式串的指针j重新归零,以进行下一轮匹配。
当循环结束时,如果j等于模式串t的长度,那么说明字符串匹配成功,返回匹配位置;否则,
匹配失败。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。