软件课程设计 第四阶段实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件课程设计第四阶段实验报告
编号:()字号
《软件课程设计》报告
中国矿业大学计算机科学与技术学院
年月
1
软件课程设计任务书
专业年级:学生姓名:
任务下达日期: 200 年月日
课程设计日期: 200 年月日至 200年月日
课程设计题目:数据结构类别数据结构题目序号 1顺序栈和链表栈的基本操作5 统计选票问题成绩
2
软件课程设计指导教师评阅书
指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;
③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):
成绩:
指导教师签字:年月
3

目录
七、数据结构1----- 顺序栈和链表栈的基本操作(第四阶段第一题顺序栈和链表
栈.cpp)
7.1 需求分析 (4)
7.2 概要设计....................................................................................5 7.3 详细设计与编码...........................................................................6 7.4 调试分析....................................................................................14 7.5 用户使用说明............................................................................16 7.6 设计心得 (16)
八、数据结构4----统计选票问题(第四阶段第四题统计选票问题.cpp)
8.1 需求分析 (17)
8.2 概要设计....................................................................................17 8.3 详细设计与编码...........................................................................17 8.4 调试分析....................................................................................20 8.5 用户使用说明...........................................................................21 8.6 设计心得 (21)
7.1需求分析
本程序是通过类的构造方法编写两种栈:顺序表栈和链表栈,以这顺序表和单向链表为基本构架,实现栈的基本操作:判空、.取栈顶元素、查找、.入栈、出栈、输出栈、求栈中元素个数。

为了实现方便,本程序以int型为输入类型。

输入形式:整型。

输入范围:整型数的范围。

输出形式:整型。

输出范围:整型数的范围。

测试数据:
<>
入栈前:判空结果:栈空入栈后:
(入栈的数:20 28)判空:输出栈不空
取栈顶元素:输出栈顶元素为:28 查找:输入28 输出存在输出栈:top=1 0:20 1:28
求栈中元素个数:输出
栈中元素个数为:2
出栈:输出
出栈成功 top为28
4
输出栈:top=0 0:20
查找:输入28 输出不存在出栈:出栈成功 top为20 判空:栈空输出栈:top=-1
<>
入栈前:判空结果:栈空入栈后:入栈元素30 38 判空:输出栈不空
查找:输入38 输出存在
取栈顶元素:输出栈顶元素为:38 输出栈:
输出栈中元素个数=2 1:38 2:30
求栈中元素个数:输出2
出栈:输出出栈成功,栈顶元素为:38 输出栈:输出
栈中元素=1
1:30
出栈:输出出栈成功,栈顶元素为:30 判空:输出栈空
7.2概要设计
定义一个抽象类Stack,用于后面的顺序表栈类继承。

抽象类中包括了基本操作函数(在Stack类中不进行定义)入栈、出栈、取栈顶元素、判空、判满、求个数。

顺序栈:
定义一个顺序表栈类SeqStack,公有继承抽象类Stack,私有数据为指向顺序表的指针,栈顶元素标号,栈的最大空间以及溢出处理函数。

公有数据除包括抽象类中的函数另
有友元重载输出流函数、构造函数和析构函数以及查找函数。

链表栈:
定义一个结构体LinkNode,用于表示链表中的结点,其中包括数据域和链指针域以及LinkNode的构造函数。

定义一个单向链表类LinkedStack,公有继承抽象类Stack,私有数据为指向结点的
指针,公有数据除包括抽象类中的函数另有重载输出流函数、构造函数、析构函数以及查
找函数。

主函数:
主函数中定义int型指令,用于用户输入指令进行操作。

指令为1时建立顺序栈,指令为2时建立链表栈(通过switch~case语句控制)
在顺序栈指令中,定义一个顺序栈类的对象,再次定义一个指令demand1,用于用户
输入指令对顺序栈进行操作,通过switch~case语句对对象进行成员函数的调用以实现相
关操作。

注意在进行查找、入栈、出栈、取栈顶元素时都需要定义一个变量以接收成员
函数返回的值。

对链表栈的调用类似顺序栈。

5
感谢您的阅读,祝您生活愉快。

相关文档
最新文档