上一篇介绍了顺序栈,和顺序表差不多,那么这篇介绍的链式栈和链表又差不多,个人认为它其实就是一个满足先入后出原则的链表。
不多说了,先看下它的结构:
typedef int StackData;
//这个结构体定义的是栈中的节点
typedef struct _node
{
StackData data;
struct _node *next;
}Node;
//这个结构体定义的是栈顶指针
typedef struct _linkStack
{
Node *top;
}LinkStack;
首先第一步是创建栈,即给栈分配一段空间:
LinkStack *Create_Stack()
{
LinkStack* s = (LinkStack*)malloc(sizeof(LinkStack)/sizeof(char));