当前位置: 首页 > news >正文

PTA 串的算法设计 5 BF匹配算法(单次匹配)

作者 张鏖烽

单位 湖南工程学院

设计一个简单匹配算法(BF匹配算法)BF_Match(SqString *s,SqString *t):匹配模式串t在目标串s中的位置,匹配成功返回开始的位置,否则返回-1;

函数接口定义:

int BF_Match(SqSteing *s,SqString *t);//匹配模式串t在目标串s中的位置;

其中t为模式串,s为目标串;

裁判测试程序样例:

#include<stdio.h> #include<malloc.h> #define MaxSize 100 typedef struct{ char data[MaxSize]; int length; }SqString; void Init_SqStr(SqString *&s) { s=(SqString *)malloc(sizeof(SqString)); s->length=0; } void Create_SqStr(SqString *&s,char cstr[]) { int i; for(i=0;cstr[i]!='\0';i++) s->data[i]=cstr[i]; s->length=i; } int BF_Match(SqString *s,SqString *t); int main() { char cstr[MaxSize]; int i; SqString *s,*t; Init_SqStr(s); Init_SqStr(t); scanf("%s",cstr); Create_SqStr(s,cstr); scanf("%s",cstr); Create_SqStr(t,cstr); i=BF_Match(s,t); if(i==-1) printf("匹配失败!"); else printf("匹配成功!模式串t在目标串s中开始的位置为:%d",i); return 0; } /* 请在这里填写答案 */

输入样例:

在这里给出一组输入。例如:

bacdabcdefgh abcde

输出样例:

在这里给出相应的输出。例如:

匹配成功!模式串t在目标串s中开始的位置为:4

参考代码:

int BF_Match(SqString*s,SqString*t){ int i=0,j=0; while(i<s->length&&j<t->length){ if(s->data[i]==t->data[j]){ i++;j++; }else{ i=i-j+1; j=0; } } if(j==t->length){ return i-j; }else{ return -1; } }
http://www.jsqmd.com/news/470690/

相关文章:

  • OpenCore Legacy Patcher技术突破:让老旧Mac焕发新生的完整指南
  • 冷冻食品包装新趋势,2026泡沫箱厂商排行及特色解析,目前泡沫箱实力厂家技术实力与市场典范解析 - 品牌推荐师
  • 3大核心功能让你的英雄联盟体验全面升级:League Akari智能助手深度评测
  • 紫外、量子、AI融合:远程拉曼光谱的三大突破与未来 - 品牌推荐大师
  • 如何用AntiDupl.NET解决图像重复难题?5个专业技巧提升去重效率
  • 2026年软考中级“软件设计师”考试内容、题型,备考资料
  • C++基础(7):引用类型
  • 农业四情监测系统
  • MYSQL入门学习教程(非常详细),零基础入门到精通,收藏这一篇就够了_mysql学习
  • Cesium Terrain Builder技术解析:从原理到实践的完整指南
  • 打造同城生活服务一站式平台 全面覆盖同城信息、商家联盟、生活电商等多元场景
  • 科研数据可视化工具推荐:适配场景,高效呈现科研价值
  • 如何用 PS 去除图片上的杂物?新手必学的4种方法
  • 2026年度CRM系统生态盘点,9款主流厂商核心能力解析
  • FigmaCN实战指南:打造高效界面汉化解决方案
  • 2026年度光伏设备高端橡胶密封制品供应商深度评测:谁在定义行业新标准? - 资讯焦点
  • 3种核心技术让WindowsCleaner实现C盘空间翻倍
  • 突破效率边界:TMSpeech智能语音识别效率工具全解析
  • PS 如何快速溶图?人物与背景自然融合教程详细步骤
  • CarSim-Simulink联合仿真:ACC自动巡航跟随控制策略实现与跟车效果展示
  • 基于PHP的微信AI智能客服系统源码:消息接收与自动回复的实现
  • 利用PHP构建一个简单的AI智能客服源码系统
  • 41514154154154154154514514
  • 告别论文焦虑:Paperxie 降重 + 降 AIGC 双效方案,让学术写作更从容
  • PHP实现在线微信客服源码系统消息的实时推送与处理
  • 突破游戏本性能桎梏:OmenSuperHub的智能调控技术革命
  • AGP、Gradle和Jdk之间的关系
  • CSDN运维笔记|360CDN配置教程,跨网加速+缓存优化实测
  • 分享一套PHP原创开发的微信AI智能客服系统源码,结构清晰,适合二次开发
  • 从“审价”到“计价”:一文读懂装备价格审核与军用软件成本评估