栈使用链表来实现的.如果你不懂的链表,可以先了解一下链表.
int Push(STACK *S,int e)//进栈
{
SNode *p;
p=(SNode *)malloc(sizeof(SNode)); // 申请一个节点.这个节点是用来存放入栈的数据的.
if(!p)
return ERROR; // 如果没有申请成功,返回错误.
p->data=e; // 节点的值为e
p->next=S->top; // 放到栈顶
S->top=p; //并修改栈顶为P
S->length++; //长度加一.
return OK; //入栈成功,返回ok
}
出栈是一样的.
温馨提示:内容为网友见解,仅供参考