#include<stdio.h>
#include<stdlib.h>
typedef int Datatype;
typedef struct node
{
Datatype data;
struct node *sp;
}Lstack;
int isempty(Lstack *s)
{
if(s==NULL)
return 1;
else
return 0;
}
Lstack *push(Lstack *s, Datatype x)
{
Lstack *q;
q = (Lstack *)malloc(sizeof(Lstack));
q->data = x;
q->sp = s;
return q;
}
Lstack *pop(Lstack *s, Datatype *x)
{
if(s == NULL)
{
printf("no data!\n");
return NULL;
}
*x = s->data;
return (s->sp);
}
void getop(Lstack *s, Datatype *x)
{
if(s->sp == NULL)
printf("no data!\n");
*x = s->data;
}
void main()
{
Lstack *st;
int n;
st = NULL;
printf("%d\n", isempty(st));
st = push(st, 5);
st = push(st, 4);
st = pop(st, &n);
printf("%d\n", n);
st = pop(st, &n);
printf("%d\n", n);
printf("%d\n", isempty(st));
}