9. 简述以下算法的功能(其中栈和队列的元素类型均为int):
(1)void proc_1(Stack S)
{ int i, n, A[255];
n=0;
while(!EmptyStack(S))
{n++; Pop(&S, &A[n]);}
for(i=1; i<=n; i++)
Push(&S, A[i]);
}
(2)void proc_2(Stack S, int e)
{ Stack T; int d;
InitStack(&T);
while(!EmptyStack(S))
{ Pop(&S, &d);
if (d!=e) Push( &T, d);
}
while(!EmptyStack(T))
{ Pop(&T, &d);
Push( &S, d);
}
}
(3)void proc_3(Queue *Q)
{ Stack S; int d;
InitStack(&S);
while(!EmptyQueue(*Q))
{
DeleteQueue(Q, &d);
Push( &S, d);
}
while(!EmptyStack(S))
{ Pop(&S, &d);
EnterQueue(Q,d)
}
}