Q是一个队列,S是一个空栈,实现将队列中的元素逆置的算法。
用栈将出队的元素逆序提取出来,全部入栈后再逐个出栈入队列
void inverse(Stack,&S,Queue &Q){
while(!QqueueEmpty(Q)){
x=dequeue(Q);
push(S,x);
}
while(!StackEmpty(S)){
pop(S,x);
enqueue(Q,x);
}
}
Q是一个队列,S是一个空栈,实现将队列中的元素逆置的算法。
用栈将出队的元素逆序提取出来,全部入栈后再逐个出栈入队列
void inverse(Stack,&S,Queue &Q){
while(!QqueueEmpty(Q)){
x=dequeue(Q);
push(S,x);
}
while(!StackEmpty(S)){
pop(S,x);
enqueue(Q,x);
}
}