串动态顺序存储实现.pdfVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
串动态顺序存储实现

实验 4-1 串的动态顺序存储实现 一、实验目标 通过本实验,你将能够在以下几个方面得到锻炼: 1. 用 C 语言熟练编写程序和调试程序; 2. 掌握和运用 C 语言的高级语法特性,包括:结构体、指针、函数指针、typedef 、动 态内存分配和递归函数,等。 3. 掌握从分析问题到编写伪代码、编写程序、调试程序和测试程序的思路; 4. 能够根据给定的 ADT 规格说明熟练的编写代码; 5. 理解并熟练掌握串动态顺序存储结构的 C 语言描述; 6. 掌握串的动态顺序存储结构的算法实现。 二、ADT 规格说明 串的ADT 规格说明请参考教材 71 页。 三、实验要求 用动态顺序存储的方式实现串的 ADT 规格说明。 四、实验步骤 1. 建立本次实验的文件夹 Lab4-1 。 2. 从 Moodle 网络课堂下载实验文件 Lab4-1.rar ,包括三个代码文件:DynaSeqString.h 、 DynaSeqString.cpp 和 Lab.cpp 。各代码文件的作用如下表所示: 文件 作用 DynaSeqString.h 动态顺序串 ADT 的定义 DynaSeqString.cpp 动态顺序串 ADT 的实现(待完成) Lab.cpp 测试动态顺序串的主程序(待完成) 3. DynaSeqString.h 文件是动态顺序串的数据结构储存定义和基本操作的声明。 - 1 - DynaSeqString.cpp 是动态顺序串基本操作的实现。本次实验的主要内容就是编写动态 顺序串所有操作函数的实现代码,也就是完成 DynaSeqString.cpp 代码文件的编写。 注意每个操作函数前面都有函数头注释,包括:操作目的、初始条件、操作结果、函 数参数和返回值。这些信息对于保证函数代码的逻辑正确性以及对函数进行测试是非 常有用的。这两个文件的代码如下。 DynaSeqString.h /*** *DynaSeqString.h - 字符串的动态顺序存储定义 * ****/ #if !defined (DYNASEQSTRING_H) #define DYNASEQSTRING_H /* // 定义字符串结构 */ typedef struct String { char *ch; // 字符串存储的基址 int length; // 字符串长度 }DString; /* // 字符串的基本操作 */ void InitString(DString *s); void DestroyString(DString *s); bool StrAssign(DString *dst, const char* src); bool StrCopy(DString *dst, DString src); bool StrEmpty(DString s); int StrCompare(DString s, DString t); int StrLength(DString s); void ClearString(DString s); bool Concat(DString *t, DString s1, DString s2); bool SubString(DString *sub, DString src, int pos, int len); int Index(DString ms, DString sub, int pos); int Replace(DString *ms, DString sub, DString v); bool StrInsert(DString *ms, int pos, DString sub); - 2 - bool StrDelete(DString *s, int pos, int len); #e

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档