3.4 串的基本操作演示一、 需求分析 1.用堆分配存储表示实现 Hstring 串类型的最小操作子集。 2.实现串抽象类型的其余基本操作(如联接、删除等),且不能使用 c 语言本身提供的串函数,必须自己构造新的函数实现串的基本操作。 3.本演示系统是一个命令解释程序,循环往复的处理用户输入的每一条命令,直至终止程序的命令为止。 4.参数的合法性必须严格检查,要严格根据命令的输入格式进行输入,否则程序可能无确执行指令。二、概要设计 实现串的抽象数据类型和实现其基本操作,程序中将涉与下列抽象数据类型: 1.定义串的基本主结构 ADT String{ 数据对象:D={ai| ai∈charcaterset,i=1,2,…,n,n>=0} 数据关系:R1={
|ai-1,ai∈D, i=1,2,…,n} 基本操作: StrCompare(HString S,HString T) 初始条件:S 和 T 是已存在的 Hstring 类型。 操作结果:比较其值,显示结果“UNEQUAL”或“EQUAL”。StrLength(HString S) 初始条件:S 是已存在的 Hstring 类型。 操作结果:返回该串的长度。Concat(HString S1,HString S2) 初始条件:S1 和 S2 是已存在的 Hstring 类型。 操作结果:由 S1 和 S2 联接成新串。Index(HString S,HString t) 初始条件:S 和 T 是已存在的 Hstring 类型。 操作结果:显示第二个串在第一个串中首次出现的起始位置。Replace(HString M, HString t, HString v) 初始条件:M、t 和 v 是已存在的 Hstring 类型。 操作结果:将第一个串中所有出现的第二个串用第三个串替换,显示结果串的部名和串值,原串不变。SubString(HString S,int pos,int len) 初始条件:S 是已存在的 Hstring 类型。 操作结果:假如参数合法,则显示子串的部名和串值 。Strprint(HString S) 初始条件:S 是已存在的 Hstring 类型。 操作结果:显示串 S 的部名和串值 。getin(int n) 初始条件:处理命令串 S1, 操作结果:把串值存入串头表中Insert(int n) 初始条件:要给指定的串赋值,n 为指定的串的部名 操作结果:为指定部名的串赋值show() 初始条件:要求查看输入格式 操作结果:输出各种命令的输入格式}ADT String二.存储结构与相应的类型定义公用头文件 header.h#include #include #include #include #include #define TRUE 1#define FALSE 0#define OK 1#define ERROR...