#include <stdio.h>
#include <stdlib.h>
typedef enum Status
{
ERROR = 0, OK = 1
}Status;
typedef int ElemType;
typedef struct StackNode
{
ElemType data;
struct StackNode *next;
}StackNode, *LinkStackPtr;
typedef struct linkStack
{
LinkStackPtr top; //栈顶指针
int count; //栈中元素个数
}LinkStack;
Status initLStack(LinkStack *s)
{
s->top = NULL;
s->count = 0;
return OK;
}
Status isEmptyLStack(LinkStack *s) //判断链表是否为空
{
if (s->count == 0)
{
return OK;
}
else
{
return ERROR;
}
}
Status pushLStack(LinkStack *s, ElemType datas) //入栈
{
StackNode *p = (StackNode *)malloc(sizeof(StackNode));
if(p == NULL)
{
return ERROR;
}
p->data = datas;
p->next = s->top;
s->top = p;
s->count++;
return OK;
}
int getTopLStack(LinkStack *s) //获取链表头元素
{
if(NULL == s->top)
{
return ERROR;