数据结构课程设计报告 伪码

发布 2022-10-05 20:00:28 阅读 6222

题目:串基本操作的演示。

学院计算机学院

专业网络工程

年级班别 11级1班

学号 3111006293

学生姓名汤瑞华。

指导教师李小妹。

成绩。2024年6月。

题目:串基本操作的演示。

一. 需求分析。

1. 定义自定义的串类型,并使用此类型实现串的基本操作演示。

2. 利用堆分配存储表示实现hstring串类型的最小操作子集的基础,实现串抽象数据类型的其余基本操作。

3. 严格检查参数的合法性。

4. 构造命令解释程序,循环往复处理用户输入的每一条命令,有程序终止命令。

5. 需要实现的基本操作:(1)赋值 (2)判相等 (3)联接 (4)求长度 (5)求子串。

6)子串定位 (7)串替换 (8)显示 (9)删除 (10)退出。

测试数据:必要数据。

1)e “ 回车》,应显示”equal”.

(2)e ‘abc’‘abcd’《回车》,应显示’unequal’.

(3)c “ 回车》,应显示”.

(4) i ‘a’”《回车》,应报告:参数非法。

(5)r ‘aaa’’aa’’b’《回车》,应显示’ba’.

(6)r ‘aaabc’ ‘a’’aab’《回车》,应显示’aabaabaabbc’.

(7)r ‘aaaaaaaa’’aaaa’’ab’《回车》,应显示’abab’.

自定义数据:

(8)a‘string《回车》,应显示:“语法格式错误!请重新输入!”

(9)a ‘string’《回车》,应显示:‘内部名’’string’.

(10)a ‘‘回车》,应显示:‘内部名’ ’

(10)l‘string《回车》,应显示:”命令语法格式错误!请重新输入!”

(11)l ‘string’《回车》,应显示: 6.

(12)l ‘’回车》,应显示: 0.

(13)d‘123’《回车》,应显示:“命令语法错误!内部名不能小于0和大于100和只能为数字!”

(14)d‘s‘《回车》,应显示:“内部名只能输入数字!请重新输入!”

(15)d‘99’《回车》,应显示:“此内部名为空!请重新输入!”

(16)d‘2《回车》,应显示:“命令语法格式错误!请重新输入!”

(17)d ‘2’《回车》,应显示:’删除成功’.

(18)s‘string《回车》,应显示:“命令语法格式错误!请重新输入!”

(19)s ‘string’2 3《回车》,应显示:’tr’.

(20)s ‘string’5 7《回车》应显示:start不能小于0或大于字符串的长度。end不能小于start且不能大于字符串的长度。

(21)c‘string《回车》,应显示:“命令语法格式错误!请重新输入!”

(22)c ‘str’’ing’《回车》,应显示:‘string’.

(23)c ‘str’’’回车》应显示:‘str‘。

(24)i‘string《回车》,应显示:“命令语法格式错误!请重新输入!”

(25)i ‘string’’ing’《回车》,应显示: 4.

二. 概要设计。

1. 定义hstring串抽象数据类型。

adt strheadlist

数据关系:r1=

基本操作:void getcommand(char c,strheadlist &headlist,resulttype &resultype)

初始条件:c不为空,headlist存在,resultype存在。

操作结果: 得到命令的对应整数值。

void assignment(strheadlist headlist,resulttype resultype,int &pointcheck)

初始条件:headlist存在,resultype存在。

操作结果:存储输入的字符串,并显示其内部名和串值。

void equal(strheadlist headlist,resulttype resultype,int &pointcheck)

初始条件 : headlist存在,resultype存在。

操作结果:报告输入的两字符串是否相等。

void connect(strheadlist headlist,resulttype resultype,int &pointcheck)

初始条件 : headlist存在,resultype存在。

操作结果 :联接输入的两字符串,并显示联接后的字符串。

void length(strheadlist headlist,resulttype resultype,int &pointcheck)

初始条件 : headlist存在,resultype存在。

操作结果:显示输入的字符串的长度。

void substring(strheadlist headlist,resulttype resultype,int start,int end)

初始条件 : headlist存在,resultype存在。

操作结果:显示主串中长度为end-start的子串。

void sbslocation(strheadlist headlist,resulttype resultype,int &pointcheck)

初始条件 : headlist存在,resultype存在。

操作结果:显示子串在主串第一次出现的位置。

void replace(strheadlist headlist,resulttype resultype,int &pointcheck)

初始条件 : headlist存在,resultype存在。

操作结果:用第二子串替换主串**现的第一子串,并显示替换后的主串

void show(strheadlist headlist,resulttype resultype,int &pointcheck,int k)

初始条件 : headlist存在,resultype存在。

操作结果:显示表内所有的字符串的内部名和串值。

void delete(strheadlist headlist,resulttype resultype,int &pointcheck)

初始条件 : headlist存在,resultype存在。

操作结果:删除指定内部名的字符串。

void end(strheadlist headlist,resulttype resultype,int &pointcheck,int k)

初始条件 : headlist存在,resultype存在。

操作结果:结束程序。

2. 命令分析抽象数据类型。

adt resulttype

数据关系:r1=

变量:int cmdno

操作结果:存储命令对应的整数值。

int s[3]

操作结果:存储输入的子串的内部名。

3.基本类型抽象数据类型。

adt hstring

数据关系:r1=

变量:char *ch

操作结果:字符串基址。

int length

操作结果 :存储字符串的长度。

4.主程序。

void main()

5.本程序模块的调用关系。

本程序只有两个模块。

主程序模块。

包涵各函数的模块。

三. 详细设计。

1. 主程序需要的全程量。

#define size 30 //字符串的分配空间。

#define true 1 //常量。

typedef struct{ /串表头定义。

hstring strhead[100]; 字符串指针数组。

strheadlist; /串表头类型。

2.字符串类型。

typedef struct{ /字符串类型定义。

char *ch; /字符串存储基址。

int length; /字符串的长度。

hstring;

typedef struct{//命令存储类型定义。

int cmdno; /存储命令的变量。

int s[3存储输入的字符串的下标的数组。

resulttype;

void getcommand(char c,strheadlist &headlist,resulttype &resultype)

/判断由c存储的字符,把与之对应的命令的值赋予resultype的cmdno中。

void assignment(strheadlist headlist,resulttype resultype,int &pointcheck)

/从headlist中strhead[100]查找还没开辟空间的串头指针,然后开辟空间存储。

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...