1、 数 据 结 构 课 程 设 计 设计题目: 串的存储表示及基本操作 学生姓名: 专业班级: 2 课题名称 串的存储表示及基本操作 院 系 年级专业 学 号 姓 名 成 绩 课题设计 目的与 设计意义 1、课题设计目的: (1) :掌握串的基本存储结构; (2) :掌握串的基本运算及其实现; 2、课题设计意义:通过此次对于串及其基本操作的课程设计,更深层次 的了解串的基本概念、 特征, 掌握串的基本存储结构、 基本运算及其实现。 根据课程设计的目的和基本要求, 注意一些容易发生错误的问题, 从而进 一步的认真分析问题、总结结论和经验,理解设计的思想和构思。联系到 生活上的实际问题,培养课程设计
2、的能力及思想构思。 指导教师: 年 月 日 目目 录录 第一章 数据结构课程设计的目的、基本要求及其解析 . 1 1.课程设计的目的: 1 2.课程设计要求: 1 3.课程设计题目解析: 1 第二章 程序设计内容 . 1 1程序设计的基本思想 . 1 2.程序设计代码: . 3 3程序运行结果: . 8 第三章 程序设计的优缺点及遇到的问题 12 3.1:课程设计的优缺点: 12 3.2 遇到的问题: . 12 第四章 总结 12 4.1 思考和小结: . 12 4.2 参考文献: . 13 1 第一章第一章 数据结构课程设计的目的、基本要求及其解析数据结构课程设计的目的、基本要求及其解析 1
3、.课程设计的目的: (1):掌握串的基本存储结构。 (2):掌握串的基本运算及其实现。 2.课程设计要求: (1):将上机程序全部调试通过。 (2):结合程序分析运行结果。 3.课程设计题目解析: 顾名思义,串及其基本操作,就是要在理解串的基本概念和特征的基础上, 了解串的内部表示和处理方法。这样才能有效地实现串的基本操作。串,也还是字符 串,是一种特殊的线性表。特殊之处在于表中的每一个元素都是字符,以及由此而要 求的一些特殊操作。在串及其基本操作中,要求的操作有联接、求串长、求子串、比 较串的大小、串的插入、串的删除、子串的定位和置换。因为所要进行的操作比较零 散也比较多,所以就要用到多个函
4、数把这个整体的课程设计划分成多个模块来进行。 每个函数对应一个功能。在主函数中,用一个菜单,就可以将原来的已分模块的函数 系统地进行检验及操作。在程序设计的过程中,根据课程设计的目的和基本要求,注 意一些容易出错的地方及问题。 第二章第二章 程序设计内容程序设计内容 1程序设计的基本思想: (对于串及其基本操作中,程序被分割为很多的模块。所以 以下的程序设计业分成好几个方面来一一阐述) 1). 字符串的联接:在该函数中,strcat(str1,str2)就是将串 str2 紧接着放在 串 str1 的串值的末尾,组成一个新的串 str1。最后所得的新的 str1 即为所求的原来 的两个字符 s
5、tr1 和 str1 的联接后的结果。输出即是。 2).比较两个字符串的大小:在该函数中,strcmp(str1,str2)是一个函数,它的 功能是比较两个串 str1 和 str2 的大小, 通过 if 语句的判断函数 strcmp (str1, str2) 的函数值大小, 其中函数值小于、 等于和大于 0 时, 分别表示 str1str2,其对应的输出结果分别为-1、0、1。 3)求字符串的串长:在该函数中,要先定义一个整形变量 i,strlen(str)表示字符 串 str 的长度,它是一个整形函数。通过函数 strlen(str)来算出字符串的长度, 然后赋值给整形变量 i 输出,从而
6、 i 的值即为所求的字符串的长度。 4). 串的复制: 在该函数中, 首先分别输入两串字符串 str1 和 str2, 通过函数 strcpy (str1,str2)来实现 str2 复制给 str1 的功能,得到复制后的字符串为新的 str1, 输出即为复制后的结果。 2 5).求字符串的插入:该函数中有三个形参,两个是字符串 s 和 t,一个是整形形参 i。 即把字符串 t 插入到 s 的第 i 个元素之后。在函数中,定义两个个整形变量 j、k,其 中t-chk!=0;k+,j+)“, 再 把 t-chk 赋 值 给 s-chj; 这 样 的 把 t 插 入 到了 s 中 。 最 后 , 给 s-chs-curlen+t-curlen赋值一个“0“,这时的 s-chs-curlen+t-curlen 就是一个新的字符串, 然后把 s-chs-curlen+t-curlen再赋值给