创建stack.h
#pragma once
//栈:一种访问受限的线性表,只能在一端进行数据操作,能操作
//顺序栈,栈顶设计在顺序表的表尾处,因为顺序表尾插和尾删都是O(1)
#define INIT_SIZE 10
typedef struct SeqStack
{
int *elem;//保存动态内存的地址,用于存放栈数据
int top;//栈顶指针,当前可以存放数据的下标,类似顺序表的有效数据个数
int stacksize;//栈容量
}SeqStack,*PSeqStack;
//初始化
void InitStack(PSeqStack ps);
//入栈
bool Push(PSeqStack ps,int val);
//出栈,获取栈顶值,并删除栈顶元素
bool Pop(PSeqStack ps,int *rtval);
//获取栈顶值,但不删除
bool GetTop(PSeqStack ps,int *rtval);
//判空
bool IsEmpty(PSeqStack ps);
//获取长度
int GetLength(PSeqStack ps);
//清除数据
void Clear(PSeqStack ps)<