已知模式串t = “abcaabbabcab”,写出用KMP算法求得的每个字符对应的next和nextval函数值。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 255typedef struct {char *ch;int length;
}SString;
void getNext(SString t,int next[]){int i = 1,j = 0;next[1] = 0;while(i < t.length){if(j==0 || t.ch[i] == t.ch[j]){i++;j++;next[i] = j;}else{j = next[j];}}
}
void getNextVal(SString t,int nextval[]){int i = 1,j = 0;nextval[1] = 0;while(i < t.length){if(j==0 ||t.ch[i] == t.ch[j]){i++;j++;if(t.ch[i] != t.ch[j])nextval[i] = j;else nextval[i] = nextval[j];}else{j = nextval[j];}}
}
void InitString(SString *t){(*t).ch = (char*)malloc(sizeof(char)*MAXLEN);(*t).length = 12;              //这个长度怎么确定来着?
}
int main() {SString t;InitString(&t);//    t.ch = "#abcaabbabcab";      //ch[0]位置不用strcpy(t.ch,"#abcaabbabcab");int next[14];int nextval[14];getNext(t,next);getNextVal(t,nextval);for(int i = 1;i <=12;i++){printf("%d ",next[i]);}putchar('\n');for(int i = 1;i <=12;i++){printf("%d ",nextval[i]);}return 0;
}

数据结构严蔚敏4.7习题2应用题(1)相关推荐

  1. 构建线性表的c语言代码,数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码...

    1.运行环境 这里说明一下这里所有的C语言代码都是基于code::blocks 20.03编译运行的.当然一些其他集成开发环境应该也是可以的,个人不太喜欢功能太过强大的IDE,因为那同样意味着相关设置 ...

  2. 数据结构 严蔚敏 第二章 线性表

    数据结构 严蔚敏 第二章 线性表 线性表:由n个(n>=0)数据特征相同的元素构成的有限序列. 线性表的类型定义表示和实现 顺序表 存储单元地址连续 随机存取 若每个元素占用 m 个存储单元,以 ...

  3. 【计算机】数据结构-严蔚敏/清华大学P3

    [计算机]数据结构-严蔚敏/清华大学P1 第二章    线  性表 线性结构 是 一个数据元素的有序(次序)集 线性结构的基本特征: 1.  集合中必存在唯一的一个"第一元素": ...

  4. 数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码

    数据结构严蔚敏C语言版-线性表顺序存储结构(顺序表)C语言实现相关代码 1.运行环境 2.准备工作 1)项目构建 1>新建一个SeqList项目 2>新建两个文件Sources和Heade ...

  5. 数据结构----严蔚敏

    最近一直想找一本纯数据结构的书来学习,找来找去都没有找到一本合适的书籍,相比之下国内的书籍之中,严蔚敏和吴伟民的还算是经典版了,很多国内其他数据结构教材都参考这本书的.但缺点是很多都是伪代码,对编程初 ...

  6. 数据结构严蔚敏清华大学pdf_2019年清华大学自动化系控制工程专业大数据方向考研经验分享...

    基本情况(以下内容仅代表个人观点) 我目前就读于西南某双非石油工程专业,2019考研报考清华大学自动化系大数据工程专业,一志愿复试被刷,侥幸调剂录取至微电子系.初试总分346分(政治-63 + 英语一 ...

  7. 数据结构(严蔚敏版)习题集第三章课后标新号习题答案

    #include<iostream> #include<cctype> using namespace std; /****预定义****/ #define STACK_INI ...

  8. 有关数据结构基础知识(数据结构 严蔚敏版)

    1. 数据结构是一门研究非数值计算程序设计中的操作对象 以及这些对象之间的关系和操作的学科 2. 研究包括逻辑结构和存储结构 1) 逻辑结构(从具体问题抽象出来的数学模型)分为 集合结构 线性结构 树 ...

  9. 数据结构----严蔚敏 (链表)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.链表是什么? 二.使用步骤 总结 前言 数据结构是软件技术.网络技术等计算机类专业的一门重要的专业基础课程,其理论 ...

  10. 字符串静态顺序结构C/C++实现(数据结构严蔚敏版)

    1.头文件String.h #include<stdio.h> #include<stdlib.h> #include<string.h> #include< ...

最新文章

  1. 台湾MCI报告:Security SaaS风潮渐起
  2. 聊一聊我在 B站 上自学编程的经历吧
  3. css表格文字超数量就竖排_绝了,超轻量级中文 OCR,你值得拥有
  4. 使用tomcat软件在本地搭建服务器
  5. ARMV8-M学习笔记-入门
  6. 橱窗布置(信息学奥赛一本通-T1279)
  7. 推荐一款好用的截图软件Faststone capture
  8. C语言章节作业第五次,C语言第五次上机作业参考答案
  9. 震波——动态点分治+线段树
  10. adb命令安装apk
  11. 【Au】如何消去视频音频中的人声,提取伴奏
  12. python自回归_向量自回归模型(VAR)到底厉害在哪里?
  13. 分布电容和杂散电容_分布电容
  14. 卡耐基梅隆大学计算机工程录取率,卡耐基梅隆大学各学院专业录取数据来咯!...
  15. 一口气从零读懂CAN总线以及应用
  16. python生成纯色或渐变色图片
  17. 网站申请服务器,网站申请服务器空间
  18. 今天不发技术文,发点粉丝福利
  19. win7锁屏壁纸更换,解除壁纸256Kb限制教程
  20. 介绍个人计算机水平,计算机个性自我介绍范文

热门文章

  1. 【linux网络】net_device及注册与销毁
  2. Bing翻译接口(V3版本)
  3. Java爬虫-使用爬虫下载千张美女图片!
  4. 我数学不好,适合做程序员吗?
  5. 【C++项目】Tiny Linux WebServer---开篇介绍
  6. SVN安装和使用详细教程
  7. 【Matlab】Matlab2014修改默认工作目录
  8. java我的世界损坏的种子,我的世界:5分钟让你通关游戏的种子,大神用这种子破了世界纪录...
  9. iOS开发人员需要了解的苹果开发者账号与邓白氏编码
  10. mysql如何实现递归查询