1、借助某个辅助栈,删除原栈中的偶数为例:
Symmetry(LinkStack S, S1)
{
SElemType e,;
SElemType *p;
while(top.next)
{
if(!top.data%2)
{
Pop(S,e);
Push(S1,e);
}
else
pop(S,e);
}
for(p=S1.top; p.next; p=p.next)
{
Pop(S1,e);
Push(S,e);
}
}
2、借助一个辅助栈实现链队列的逆置为例
QueueReverse(LinkQueue Q, LinkStack S)
{
ElemType x;
LinkQueue *q=Q;
LinkStack *p=S;
while(q.next)
{
DeQueue(Q, x);
Push(S,x);
q=q.next;
}
while(p.next)
{
Pop(S,x);
EnQueue(Q,x);
p=p.next;
}
}