美文网首页
C++字符串匹配的BF算法

C++字符串匹配的BF算法

作者: townof1997 | 来源:发表于2019-07-25 23:48 被阅读0次

代码如下:

#include <iostream>
#include <cstring>
#include <string>

using namespace std;

#define OK 1
#define ERROR 0
#define OVERFLOW -2


typedef int Status;

#define MAXSTRLEN 255       //用户可在255以内定义最长字符串  

typedef char SString[MAXSTRLEN + 1];                //0号单元存储的长度

Status StrAssgin(SString T, char *chars)
{
    int i;
    if(strlen(chars > MAXSTRLEN))
        return ERROR;
    else 
    {
        T[0] = strlen(chars);
        for( i =1; i <= T[0]; i++)
            T[i] = *(chars + i - 1);
        return OK;
    }
 } 
 
 // BF算法 
 Status Index(SString S, SString T, int pos)
 {
        // 返回模式T在主串S中第pos个字符串之后第s一次出现的位置,若不存在,则返回值为0,其中T非空,1<=pos <=StrLength(S) 
        int i = pos;
        int j = 1;
        while(i<=S[0] && J<=T[0])
        if(S[i] == T[j])
        {
            ++i;
            ++j;
        }   //继续比较后续字符
        else {
            i = i -j +2;
            j = 1;
        } //指针后退,重新开始匹配
        if(j>T[0])
            return i - T[0];
        return 0; 
 
 } 



// 字符串的匹配算法
 
int main()
{
    SString S;
    StrAssign(S, "bbaaabbabaaaaabb");
    SString T;
    StrAssign(T, "baba");
    
    cout << "主串和子串在第" << Index(S, T, 1) << "个字符处位置首次匹配" << endl; 
    
    
    return 0;
}

文章有待维护.

相关文章

  • 字符串匹配

    indexOf 底层就是使用字符串匹配算法 字符串匹配算法很多 BF( Brute Force)算法 暴力匹配算...

  • 20-字符串匹配

    字符串匹配 这章节,我们会讲到几大典型的字符串匹配算法 BF算法 BF算法是最最符合正常人逻辑思维的一种匹配模式,...

  • 字符串匹配基础上——BF 算法和 RK 算法

    单模式匹配算法,也就是一个字符串和另一个字符串进行匹配。 1. BF 算法 BF 算法中的 BF 是 Brute ...

  • KMP算法文章合集

    字符串的查找:朴素查找算法和KMP算法 暴力匹配算法与KMP算法(串的匹配) 字符串查找算法BF和KMP 字符串匹...

  • KMP字符串匹配算法

    KMP字符串匹配算法 先总结一下之前的几种字符串匹配算法 1 BF算法, 最简单的字符串匹配算法, 可以直接使用s...

  • 数据结构与算法 -- 串,BF算法和RK算法

    BF算法 BF(Brute Force)算法,即暴力匹配算法 如果在字符串A中查找字符串B,那么字符串A就是主串,...

  • 记录数据结构与算法的学习之路 -----005.BF算法与RK算

    1.BF算法 1.1 定义 BF算法,即暴风算法,也有人称为朴素算法、暴力算法。BF算法是一种做字符串匹配的算法。...

  • 字符串匹配算法

    以下为学习 《数据结构与算法之美 -- 字符串匹配》 的记录。 BF算法 即暴力匹配算法,循环遍历匹配。 RK算法...

  • 字符串匹配算法

    场景:字符串A为主串,字符串B为模式串,比较字符串B是否能够在字符串A中进行匹配? 匹配算法:BF算法和RK算法。...

  • 数据结构与算法-字符串

    字符串又被成为串 字符串的存储结构 字符串的比较 朴素的模式匹配算法 BF算法

网友评论

      本文标题:C++字符串匹配的BF算法

      本文链接:https://www.haomeiwen.com/subject/obrlrctx.html