[求助]栈的插入与删除?
刚学数据结构,不知道怎么用C语言来对数据数据进行编程.谁能给我一个关于栈的插入与删除的完整程序!最好是一个顺序栈和一个链式栈的程序!
进栈的链表实现
void push(ElementType X,Stack S)
{
PtrToNode TmpCell;
TmpCell=malloc(sizeof(struct node));
if(TmpCell==NULL)
FatalError("Out of space!!!");
else
{
TmpCell->Element=X;
TmpCell->Next=S->Next;
S->Next=TmpCell;
}
}
出栈的链表实现
void Pop(Stack S)
{
if(!IsEmpty(S))
return S->Next->Element;
Error("Empty stack");
else
{
FirstCell=S->Next;
S->Next=S->Next->Next;
Free(FirstCell);
}
}