目录
1.创建LinkStack.cpp文件
#include <stdio.h>
#include <malloc.h>
//定义链栈
//声明链栈中的元素为字符类型
typedef char ElemType;
typedef struct node
{
//存储结点数据
ElemType data;
//指针域
struct node * next;
}LinkStack;
//初始化栈
//ls为引用型参数
void InitStack(LinkStack * &ls)
{
ls=NULL;
}
//销毁栈
void DestroyStack(LinkStack * &ls)
{
LinkStack * pre=ls, * p;
//考虑栈空的情况
if(pre==NULL) return;
p=pre->next;
while(p!=NULL)
{
//释放pre结点
free(pre);
pre=p;
//pre、p同步后移
p=p->next;
}
//释放尾结点
free(pre);
}
//进栈
int Push(LinkStack * &ls,ElemType x)
{
LinkStack * p;
//创建结点p用于存放x
p=(LinkStack *)malloc(sizeo