一、目的
领会顺序栈存储结构和掌握顺序栈中各种基本运算算法设计;
领会链栈存储结构和掌握链栈中各种基本运算算法设计。
二、内容
编写一个程序sqstack.cpp,实现顺序栈(假设栈中元素类型ElemType为char)的各种基本运算,并在此基础上设计一个程序exp3-1.cpp,完成如下功能:
(1) 初始化栈s
(2) 判断栈s是否非空
(3) 依次进栈元素a、b、c、d、e
(4) 判断栈s是否非空
(5) 输出出栈序列
(6) 判断栈s是否非空
(7) 释放栈
编写一个程序listack.cpp,实现链栈(假设栈中元素类型ElemType为char)的各种基本运算,并在此基础上设计一个程序exp3-2.cpp,完成如下功能:
(1)初始化栈s
(2)判断栈s是否非空
(3)依次进栈元素a、b、c、d、e
(4)判断栈s是否非空
(5)输出出栈序列
(6)判断栈s是否非空
(7)释放栈
三、源代码
顺序栈基本运算
#include#include#define MaxSize 100
typedef char ElemType;
typedef struct
{
ElemType data[MaxSize];
int top;
}SqStack;
void InintStack(SqStack *&s)
{
s=(SqStack *)malloc(sizeof(SqStac