创建lstack.h
#pragma once
//链式栈:利用带头节点的单链表实现
//栈顶为第一个数据结点,因为:头插O(1),头删:O(1),有尾指针的的尾插:O(1),有尾指针的尾删O(n)
typedef struct SNode
{
int data;
struct SNode *next;
}SNode,*PLStack;//注意:链式栈不需要top,因为头结点的next即为top
//初始化栈
void InitStack(PLStack ps);
//入栈
bool Push(PLStack ps,int val);
//出栈,获取栈顶值,并删除栈顶元素
bool Pop(PLStack ps,int *rtval);//rtval:输出参数
//获取栈顶值,但不删除
bool GetTop(PLStack ps,int *rtval);
//判空
bool IsEmpty(PLStack ps);
//获取长度
int GetLength(PLStack ps);
//清除数据
void