栈的概念
栈是一种线性表,插入数据的一端叫栈顶,另一端叫栈底。
入栈:数据从栈顶进入栈中
出栈:数据从栈顶删除
所以,栈的特点就是先进后出,也可以说后进先出。
入栈图
出栈图
根据栈先进后出的性质,我们来实现一个简单的栈。
栈的结构声明
typedef int STDataType;
struct Stack
{
//存放数据的空间
STDataType* data;
//栈顶位置
size_t top;
//栈的容量
size_t Cacpcity;
}ST;
初始化
初始化很简单,我们让data指向的空间为NULL,顶部位置从0开始,每插入一个数据就+1。
//初始化
void StackInto(ST* ST)
{
ST->data = NULL;
ST->top = 0;
ST->Cacpcity = 0;
}
我们可以看到初始化成功了。
数据入栈
栈初始化好后,我们就要把数据插入