实验报告
**_专业 **班 _**年__*月_**日
姓名_***__ 学号***电话***
一:实验题目
试利用堆栈将队列中的元素逆置。该程序的功能是实现顺序栈及队列的定
义和操作。该程序包括定义的栈结构类型、队列结构类型以及对每一种栈、每
一种队列操作的具体的函数定义和主函数。
二:.需求分析
本演示程序用 TC 编写,完成栈的初始化、栈的判空、入栈、出栈、输出栈中所有元素
队列的初始化、队列长、取队头元素、入队、出队、判断队空、输出队中所有元素等功能。
① 输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时
输入删除元素的位置。在所有输入中,元素的值都是整数
② 输出的形式:在所有三种操作中都显示操作是否正确以及操作后栈的内容。其中删除操
作后显示删除的元素的值,查找操作后显示要查找元素的位置。
③ 程序所能达到的功能:栈的初始化、栈的判空、入栈、出栈、取栈顶元素、输出栈中所
有元素、显示菜单、队列的初始化、队列长、取队头元素、入队、出队、判断队空、输出
队中所有元素。
④ 测试数
据:
A: 建立队列为 1,2,3,4,5
B: 求出队的长度为 5;
C: 取队头 5, 返回这个元素在栈中的位置
D:遍历队列 1,2,3,4,5
E: 出队,完成入栈。
F: 出栈,完成队列逆置。5,4,3,2,1
三:概要设计
1、 为了实现上述程序功能,需要定义单链表的抽象数据类型:
typedef struct //定义队列结构体类型
{
DataType *base;
int front;
int rear;
}Queue;
/* 定义DataType为int类型 */
- 1
- 2
前往页