#include <stdio.h>
#include <stdlib.h>
typedef struct node //定义链栈的节点类型;
{
int data;
struct node *next;
}linknode;
typedef struct //定义栈的指针及大小;可以 定义另一种,*base,*top,stacksize,出入栈时简单。
{
linknode *top;
int stacksize;
}linkstack;
void linkstack_init(linkstack &s)
{
s.top=NULL;
s.stacksize=0;
}
void linkstack_empty(linkstack &s)
{
s.top==NULL;
}
void push(linkstack &s,int e)
{
linknode *p=(linknode *)malloc(sizeof(linknode));
if(!p) exit(1);
p->next=NULL;
p->data=e;
p->next=s.top;
s.top=p;
s.stacksize++;
}
void pop(linkstack &s,int &e)
{
linknode *p=s.top;
if(!s.top) printf("NULL");
else
{
e