具有通配符?的模式匹配算法(BF)
问题描述
【问题描述】
编写一个具有通配符?的模式匹配算法。?可以与任意一个字符匹配。
【输入形式】输入主串s;
输入子串t;
输入比较起始位置pos。
【输出形式】
输出匹配结果:子串第一次出现的位置,若未找到,输出0。
【样例输入1】there are many cats.
?re
1
【样例输出1】
3
【样例输入2】
thsdfiewnjf fsdfdsjewd
f??f
3
【样例输出2】
13
【样例说明】
?为英文状态符号。由于输入串中可能含有空格,请使用gets读入字符串。
【评分标准】
采用bf算法实现。
程序设计
#include <stdlib.h>
#include <stdio.h>
#define MAXSIZE 100
#define ERROR 0
#define OK 1
typedef struct{
char *data;
int length;
int stringsize;
}SqString;
//串的初始化
int initString(SqString *s)
{
s->data=(char *)malloc(sizeof(char)*MAXSIZE);
s->length=0;
具有通配符?的模式匹配算法(BF)相关推荐
- [数据结构]模式匹配算法--KMP算法详解
目录 一. 模式匹配 二. 模式匹配算法 1. 朴素模式匹配算法 2. KMP算法 1). KMP算法的优势 2). KMP算法的原理 3). next数组的构造 4). 利用next数组匹配的过程 ...
- 解析BF(普通串模式匹配算法)算法
写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站.博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事 ...
- 【数据结构】字符串 模式匹配算法的理解与实现 Brute Force算法(BF算法)与KMP算法 (C与C++分别实现)
#笔记整理 若不了解串的定义,可至: 串(string)的定义与表示 查看 串的模式匹配算法 求子串位置的定位函数 Index(S, P, pos) 求子串的定位操作通常称作串的模式匹配(其中子串P称 ...
- 串--串的定义,顺序、链式存储结构,BF、KMP模式匹配算法(C语言描述)
此文章仅作为自己学习过程中的记录和总结,同时会有意地去用英文来做笔记,一些术语的英译不太准确,内容如有错漏也请多指教,谢谢! 一.串(String)的定义: 串(String):由零个或多个字符组成的 ...
- BF算法(暴力算法)--模式匹配算法
模式匹配算法:是数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配.用途:搜索引擎.拼写检查.语言翻译.数据压缩等. BF算法: ...
- 数据结构——基于字符串模式匹配算法的病毒感染检测
实验四 基于字符串模式匹配算法的病毒感染检测 [实验目的] 1.掌握字符串的顺序存储表示方法. 2.掌握字符串模式匹配BF算法和KMP算法的实现. [实验内容] 问题描述 医学研究者最近发现了某些新病 ...
- 数据结构---模式匹配算法
⼀.模式匹配的概念 模式匹配是数据结构中字符串的⼀种基本运算,给定⼀个⼦串,要求在某个字符串中找出该字串相同的所有⼦串,这就是模式匹配.其中原 字符串成为⽬标串,给定的⼦串为模式串. ⼆.常⽤的模式匹 ...
- 《数据结构》—— 串的模式匹配算法
串的模式匹配 一.简单的模式匹配算法(BF算法) 二.KMP算法 一.简单的模式匹配算法(BF算法) 在实际应用中我们常常能用到类似串的模式匹配,也称子串的定位操作.例如单词查找,百度搜索都是串的模式 ...
- 字符串的模式匹配 (朴素模式匹配算法 ,KMP算法)
字符串的模式匹配 寻找字符串p在字符串t中首次出现的起始位置 字符串的顺序存储 typedef struct {char str[MAXSIZE];int length; }seqstring; 朴素 ...
最新文章
- [DeeplearningAI笔记]序列模型2.3-2.5余弦相似度/嵌入矩阵/学习词嵌入
- go语言笔记——是c开发的 lex yacc进行词法和语法分析,go不支持函数和运算符重载,不支持类型继承,也不支持断言,还有泛型...
- 找出MySQL瓶颈的基准测试和剖析
- mysql 优惠卷表设计_这些年MySQL表设计踩过的坑!
- sso和oauth2.0的简单了解学习
- Linux命令Find实例
- python手势识别_Python|使用opencv进行简单的手势检测
- [Android] 修改ImageView的图片颜色
- Redis与Jedis排序
- yandexbot ip列表整理做俄罗斯市场的站长可以关注一下
- 【三维深度学习】点云上采样网络PU-Net 代码分析
- Golang 学习笔记(08)—— 文件操作
- python基础之元组定义进阶操作、字典定义进阶操作
- 在二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历可以找到从m到n的路径
- 批量复制文件并改成有顺序的文件名
- (转)windows身份验证登入数据库 iis 无法访问数据库
- hadoop 如何连beeline_impala为hadoop续命
- 计算机汇编语言教程pdf,汇编语言实践教程.pdf
- Data Lab 2(深入理解计算机系统)
- uniapp 微信授权 登陆