#include<stdio.h>
#include<stdlib.h>
#define Max 100
//栈的链式存储
typedef char DataType;
typedef struct structnode {
DataType data;
struct structnode* next;
} StackNode;
typedef StackNode* LinkStack;
//LinkStack top;
int stackEmpty(LinkStack top) {
return top == NULL;
}
LinkStack push(LinkStack top, DataType x) {
StackNode* p;
p = (StackNode*)malloc(sizeof(StackNode));
p->data = x;
p->next = top;//指向top
top = p;
return top;
}
LinkStack Pop(LinkStack top,DataType *x) {
StackNode* p = top;
if (!stackEmpty(top))
{
*x = top->data;
top = p->next;
free(p);
return top;
}
else {
exit(0);
}
}
DataType GetTop(LinkStack top) {
if (stackEmpty(top)) {
exit(0);
}
return top->data;
}