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