C语言实现链栈
一、头文件、自定义数据类型及自定义变量
#include<stdio.h>
#include<stdlib.h>
typedef int SElemType;
typedef int Status;
#define ERROR 0
#define OK 1
二、链栈的存储结构
与链表的存储结构类似
typedef struct StackNode{
SElemType data;
struct StackNode *next;
}StackNode,*LinkStack;
三、链栈创建(初始化)
链栈的初始化操作就是构造一个空栈,因为没必要设置头节点,所以直接将栈顶指针置空即可
Status InitStack (LinkStack &S){
S=NULL;
return OK;
}
四、链栈入栈
无需判断栈满
注意
链栈以头为底,以尾为顶,因此插入时要插在栈顶指针(S)之前,再向前移动栈顶指针
Status Push(LinkStack &S