主要代码:

int BFMatch(char *s, char *p)
{int m, n;m = strlen(s);n = strlen(p);for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(s[i + j] != p[j])break;if( j == n - 1){return i;}}}return -1;
}

全部代码:

#include <stdio.h>
#include <string.h>
#include "stdlib.h"#define MAXLEN 100int BFMatch(char *x, char *y);int main(int argc, char **argv)
{char s[MAXLEN] = {"ababaababa"}; //目标串char p[MAXLEN] = {"ababa"}; //模式串int flag = BFMatch(s, p);if(flag == -1)printf("匹配失败!\n");elseprintf("匹配成功!从目标串的s[%d] = %c 处开始匹配\n", flag, s[flag]);system("PAUSE");return 0;
}int BFMatch(char *s, char *p)
{int m, n;m = strlen(s);n = strlen(p);for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(s[i + j] != p[j])break;if( j == n - 1){return i;}}}return -1;
}

C++代码

#include<iostream>
#include <string.h>
#define MAXLEN 20
using namespace std;int bf(char* a,char* b){int al = strlen(a);int bl = strlen(b);for(int i = 0;i<al;i++){for(int j =0;j<bl;j++){if(b[j]!=a[i+j]){break;}if(j == bl-1){return i;}}}return -1;
}int main(){char a[MAXLEN] = {"abcddabcdd"};char b[MAXLEN] = {"abcdd"};int flag = bf(a,b);if(flag == -1){printf("匹配失败\n");}else{printf("字符串b匹配a[%d]值为%c",flag,a[flag]);}return 0;
}

BF法-字符模式匹配相关推荐

  1. 【计算机网络】数据链路层 : 封装数据帧 ( 附加信息 | 帧长度 | 透明传输 | 字符计数法 | 字符填充法 | 零比特填充法 | 违规编码法 )

    文章目录 一. 封装数据帧 二. "数据帧" 附加信息 三. "数据帧" 帧同步 四. "数据帧" 长度 五. "数据帧" ...

  2. 基础正规表示法字符汇整 (characters)

    再次强调:『正规表示法的特殊字节』与一般在命令列输入命令的『万用字节』并不相同, 例如,在万用字节当中的 * 代表的是『 0 ~ 无限多个字节』的意思,但是在正规表示法当中, * 则是『重复 0 到无 ...

  3. 蛮力法 字符串匹配

    字符串匹配是数据库开发和文字处理软件的关键.幸运的是所有现代编程语言和字符串库函数,帮助我们的日常工作.不过理解他们的原理还是比较重要的. 字符串算法主要可以分为几类.字符串匹配就是其中之一.当我们提 ...

  4. 投影法字符分割matlab,利用投影法进行字符分割

    1.概述 字符分割有很多方法,但并不是每一种方法是万能的,那么就需要根据自己的需要来分析.例如:我现在项目的需求是将一串编号给切分开来.查了网上的资料和文献,大致适合项目的有两种方法:投影分割法和连通 ...

  5. 数据链路层 功能 封装成帧 透明传输 字符计数法 字符填充法 零比特填充法 违规编码法 传输中的差错 差错控制 冗余编码 奇偶校验码 CRC循环冗余码 检错过程 细解 图解 通俗易懂

    粉丝不过W 数据链路层: 结点:主机.路由器 链路:网络中两个结点之间的物理通道,链路的传输介质:双绞线.光纤和微波,分为有线链路.无线链路 数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输 ...

  6. a - 数据结构实验之串一:kmp简单应用_串的两种模式匹配方式(BF/KMP算法)

    串的两种模式匹配方式(BF/KMP算法) 前言 串,又称作字符串,它是由0个或者多个字符所组成的有限序列,串同样可以采用顺序存储和链式存储两种方式进行存储,在主串中查找定位子串问题(模式匹配)是串中最 ...

  7. 文本字符分析python_Python实现字符串匹配算法代码示例

    字符串匹配存在的问题 Python中在一个长字符串中查找子串是否存在可以用两种方法:一是str的find()函数,find()函数只返回子串匹配到的起始位置,若没有,则返回-1:二是re模块的find ...

  8. 万用字元与特殊符号及正则表示字符

    万用字元与特殊符号及正则表示字符 万用字元:  符号 意义 * 代表' 0 个到无穷多个'任意字元 ? 代表'一定有一个'任意字元 [ ] 同样代表'一定有一个在括号内'的字元(非任意字元).例如 [ ...

  9. linux读书摘要--正规表示法与文件格式化处理

    声明:本文章为<鸟哥的Linux私房菜>读书摘要! 正规表示法 正规表示法(Regular Expression, RE,或称为常规表示法)是透过一些特殊字符的排列,用以『搜寻/取代/删除 ...

最新文章

  1. Matlab中bwlabel函数的使用
  2. 如何把Office365的更新从半年通道改成月度通道
  3. Android Touch事件传递机制解析 (推荐)
  4. 错误信息 c语言实现_全国计算机等级考试二级C语言
  5. ASP.NET Core MVC – 自定义 Tag Helpers
  6. python数据类型描述_【文山玩Python】用python的数据类型,来简单的描述世界
  7. 公网访问_一文读懂阿里云访问公网的实现方式
  8. yii2 关系...
  9. Android第三十二期 - 辅助类Android
  10. Django的Model上都有些什么
  11. 19华为软件精英挑战赛止步复赛
  12. 麦咖啡设置指南------详细介绍访问保护的设置方法抵御未知病毒
  13. 网络安全工程师面试题整理
  14. 普及ERP不靠低价风暴(转)
  15. word 表格内容不能自动延续到下一页
  16. 怎么点亮段码屏_段码液晶屏实现原理及应用
  17. 【单片机毕业设计】【mcuclub-jj-015】基于单片机的风扇的设计
  18. AJAX框架简笔画风景简单,好看简单的简笔画风景
  19. 编程中的数学理论——排列数组合数
  20. 对象数据类型转value、name形式的对象数组数据类型

热门文章

  1. 破纪录了!用 Python 实现自动扫雷!
  2. Java知识全面总结:并发编程+JVM+设计模式+常用框架+....
  3. 人工智能在网络贷款中鲜为人知的事
  4. 助力高校学子快速上手!昇腾AI处理器应用开发实践一览|华为昇腾师资培训沙龙北京场...
  5. 计算机解决问题没有奇技淫巧,但动态规划还是有点套路
  6. 人工智能时代,开发者是逆袭还是走向末日?
  7. AI一分钟 | 小米发布小爱音箱mini,169元;天猫汽车无人贩卖机大楼落地,刷脸可购车试驾
  8. ​双十一剁手后,听蒋涛谈谈AI人才多么吸金:2018年社招AI人才平均月薪竟高达4万,算法红利期还有2年
  9. 如何把一段简单的代码变复杂?
  10. IDEA那些既好用又好玩的30多款宝贝插件,你知道多少?