数据结构上机实践第八周项目5 - 计数的模式匹配
//*Copyright (c)2017,烟台大学计算机与控制工程学院*
//*All rights reservrd.*
//*文件名称 :main.cpp*
//*作者:田长航*
//*完成时间:2017年10月23日*
//*版本号:v1.0*
//*问题描述:算法库测试函数*
//*输入描述:无*
//*程序输出:测试结果*
#include <stdio.h>
#include "sqString.h"int str_count(SqString s,SqString t)
{int i=0,j=0,count=0;while (i<s.length && j<t.length){if (s.data[i]==t.data[j]) //继续匹配下一个字符{i++; //主串和子串依次匹配下一个字符j++;}else //主串、子串指针回溯重新开始下一次匹配{i=i-j+1; //主串从下一个位置开始匹配j=0; //子串从头开始匹配}//在BF算法中,没有下面的这一部分//这里增加一个判断,可以“捕捉”到已经产生的匹配if (j>=t.length) //如果j已经达到了子串的长度,产生了一个匹配{count++; //匹配次数加1i=i-j+1; //主串从下一个位置开始继续匹配j=0; //子串从头开始匹配}}return(count);
}int main()
{SqString s,t;StrAssign(s,"accaccacacabcacbab");StrAssign(t,"accac");printf("s:");DispStr(s);printf("t:");DispStr(t);printf("%d\n",str_count(s,t));return 0;
}
数据结构上机实践第八周项目5 - 计数的模式匹配相关推荐
- 数据结构上机实践第八周项目9-广义表算法库及应用
广义表算法库及应用 为了丰富算法库,以应对各类工程的需要,本次实践将进行广义表算法库的建立以及应用. 项目要求一: 建立广义表算法库,包括: ① 头文glist.h,定义数据类型,声明函数: ② ...
- 数据结构上机实践第八周项目2- 建立链串的算法库
建立链串的算法库 一般每一种数据结构都不会局限于在连续空间内的存取,那我们的串自然也不反常,本次实践将建立链串的算法库,应用于有需求的工程当中,提高程序的容错性. 本次实践依然会用到多文件组织工程的建 ...
- 数据结构上机实践第八周项目8-稀疏矩阵的三元组表示的实现及应用
稀疏矩阵的三元组表示的实现及应用 在现代社会中,在一个大量的人群集体中,总会有和某个人有相互之间的关系或者单向关系的,那我们的矩阵也是如此,稀疏矩阵压缩存储的方式,便可以让这种关系一目了然,巧妙应用. ...
- 数据结构上机实践第八周项目7—对称矩阵的压缩存储及基本运算
对称矩阵的压缩存储及基本运算 贺老师的慕课当中,给我们拓展了这样的知识. 所以,本次的项目实践要求如下: 用压缩形式存储对称矩阵,实现下面的操作并测试 void Init(int *&b);/ ...
- 数据结构上机实践第八周项目6- 猴子选大王(数组版)
猴子选大王(数组版) 在之前的项目中,实现了猴子选大王的项目要求,本次实践,将再次实现这个项目,但是运用数组的方法,做到一题多解,集思广益. 项目要求如下:一群猴子,编号是1,2,3 -m,这群猴子( ...
- 数据结构上机实践第八周项目4-字符串加密
字符串加密 密码在我们的生活中很常见,现在的加密算法最常用的是MD5和SHA512散列式算法,最早的密码加密方式很简单,容易被破译,但是却引领信息安全的潮流,本次实践,将实现最早的字符串加密方式,采用 ...
- 数据结构上机实践第八周项目3-顺序串算法
顺序串算法 本次实践项目要求如下: 采用顺序存储方式存储串,实现下列算法并测试: (1)试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符: void Trans(SqString * ...
- 数据结构上机实践第八周项目1- 建立顺序串的算法库
建立顺序串的算法库 本次实践将建立顺序串的算法库,这样可以方便的将此算法运用于我们的所需的工程中,简化操作. 本次实践将用到多文件组织工程的建立,建立方法可以点击此处参照.(工程环境:Visual C ...
- 数据结构上机实践第三周项目2 - 建设“顺序表”算法库
[项目2 - 建设"顺序表"算法库] 领会"0207将算法变程序"部分建议的方法,建设自己的专业基础设施算法库.这一周,建的是顺序表的算法库. 算法库包括两 ...
最新文章
- ????常用注意事项
- OI回忆录——一个过气OIer的制杖历程
- 让你的单细胞数据动起来!|iCellR(二)
- matlab时频分析工具箱安装_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...
- 华为发布7nm制程麒麟810芯片:自研达芬奇架构 nova5首搭
- python正则_正则化方法及Python实现
- 为什么现在很小的孩子都会玩游戏,他们真的看得懂吗?
- 【jQuery笔记Part2】04-jQuery淡入淡出动画右下角广告案例
- eclipse中help下默认没有Software Updates选项解决办法
- 常规投放vs. static_cast与dynamic_cast [重复]
- linux 安装org2pg_Ora2Pg的安装和使用
- Demo之JavaEE的Web中数据分页显示
- 2021-09-07
- Oracle dmp文件结构探秘
- 【C语言】size与strlen的区别解析
- 分布式系统下的纠删码技术之Erasure Code
- 《预训练周刊》第53期:代码生成、通用任务变换器
- 电脑怎么调整图片分辨率?如何让图片清晰度变高?
- iOS 局域网通讯 MultipeerConnectivity
- List循环中指定删除元素(不止一个)
热门文章
- Codeforces Round #223 (Div. 2): C. Sereja and Prefixes(二分+递归)
- bzoj 2502: 清理雪道(有下界的最小流)
- HDU 5971 2016ICPC大连 A: Wrestling Match(二分图判断)
- 2016ICPC沈阳站总结
- JDK源码解析--ArrayList
- C++ STL string字符串内容修改和替换
- Ubuntu查看解释器的两条命令
- PAT-乙级-1035 插入与归并
- .net中Task.WaitAll和WaitAny同步的等待Task完成
- Java 9 揭秘(15. 增强的弃用注解)