朴素匹配

 

void naive_matcher(const string &text,const string &pattern,vector<string::size_type> &vec)
{
    for(string::size_type i=0;i<=text.size()-pattern.size();i++)
    {
        for(string::size_type j=0;j<pattern.size();j++)
        {
            if(text[i+j]!=pattern[j])
            {
                break;
            }else if(j==pattern.size()-1)
            {
                vec.push_back(i);
            }
        }
    }
}

 

O((n-m+1)m)

你可能感兴趣的:(匹配)