一、 设计人员相关信息
1. 设计者姓名、学号和班号:12地信李晓婧 12012242983
2. 设计日期:2014.
3. 上机环境:VC++6.0
二、 程序设计相关信息
1. 实验题目:编写一个程序,实现顺序栈(假设栈中元素类型为char)的各种基本运算,并在此基础上设计一个程序,完成如下功能:
(1)初始化栈
(2)判断栈是否为空
(3)依次进栈元素a,b,c,d,e
(4)判断栈是否为空
(5)输出栈长度
(6)输出从栈顶到栈底元素
(7)输出出栈序列
(8)判断栈是否为空
(9)释放栈
2. 实验项目组成:栈的初始化、销毁、判断是否为空、进栈、出栈、取栈顶元素。
3. 实验项目的程序结构(程序中的函数调用关系图):
4. 实验项目包含的各个文件中的函数的功能描述:
(1)初始化栈InitStack:建立一个新的空栈,实际上将栈顶指针指向-1即可。
(2)销毁栈DestroyStack:释放栈占用的存储空间
(3)判断栈是否为空StackEmpty:栈为空的条件是s->op==-1。
(4)进栈Push:在栈不满的条件下,先将栈顶指针增1,然后在栈顶指针指向位置插入元素e。
(5)出栈Pop:在栈不为空的条件下,先将栈顶元素赋给e,然后将栈顶指针减1.
(6)取栈顶元素GetTop:在栈不为空的条件下,将栈顶元素赋给e。
5. 算法描述或流程图:
#include "stdio.h"
#include "malloc.h"
#include<stdlib.h>
#define MaxSize 50
typedef char ElemType;
typedef struct
{ElemType data[MaxSize];
int top; /*栈顶指针*/
…… …… 余下全文