创建一个空链栈
PLinkStack createEmptyStack_link(void){
PLinkStack plstack;
plstack=(PLinkStack)malloc(sizeof(struct LinkStack));
if(plstack!=NULL)
plstack->top=NULL;
else
printf("Out of space!\n");
return (plstack);
}
进栈
void push_link(PLinkStack plstack,DataType x)
{PNode p;
p=(PNode)malloc(sizeof(struct Node));
if(p==NULL)printf("Out of space!\n");
else
{p->info=x;
p->link=plstack->top;
plstack->top=p;
}
}
出栈
void pop_link(PLinkStack plstack)
{PNode p;
if(isEmptyStack_link(plstack))
printf("Empty stack pop.\n");
else {
p=plstack->top;
plstack->top=plstack->top->link;
free(p)
}
}
取栈顶元素
DataType top_link{PLinkStack plstack)
{if(plstack->top==NULL)
printf("Stack is empty!\n");
else
return (plstack->top->info);
}