
// 置空栈
LinkStack Init_LinkStack()
{
return NULL;
}
//判栈空
int Empty_LinkStack ( LinkStack top )
{
if ( top==-1 ) return 1;
else return 0;
}
//入栈
LinkStack Push_LinkStack ( LinkStack top, datatype x )
{
StackNode *s;
s=malloc ( sizeof ( StackNode ) );
s->data=x;
s->next=top;
top=s;
return top;
}
//出栈
LinkStack Pop_LinkStack ( LinkStack top, datatype *x )
{
StackNode *p;
if ( top= =NULL ) return NULL;
else
{
*x = top->data;
p = top;
top = top->next;
free ( p );
return top;
}
}



