实验题2:实现链栈的各种基本运算的算法
内容: 编写一个程序listack.cpp,实现链栈的各种基本运算,并在此基础上设计一个程序exp3-2.cpp,完成如下功能:
(1)初始化栈s。
(2)判断栈s是否非空
(3)依次进栈元素a,b,c,d,e;
(4)判断栈S是否非空。
(5)输出出栈序列
(6)判断栈S是否非空。
(7) 释放栈。
代码:
#include<stdio.h>
#include<stdlib.h>
#define MaxSize 50
typedef int ElemType; //自定义类型;
typedef struct linknode
{
ElemType data; //数据域
struct linknode *next; //指针域
}LinkStNode; //链栈节点类型;
//初始化栈其实是创建链栈的头节点,并将next域置为NULL;
void InitStack(LinkStNode*&s) //初始化栈;
{
s=(LinkStNode *)malloc(sizeof(LinkStNode));
s->next=NULL;
}
//该运算释放链栈S占用的全部节点空间,和单链表的销毁算法完全相同;
void Destr