如何使一个队列倒置

来源:百度知道 编辑:UC知道 时间:2024/04/27 19:09:32
比如说一个队列a b c d e f j 使它变成j f e d c b a这样的队列,也就是说开始时L->front 为a L->rear为j 使对头指针指向rear 队尾指针指向front
只能用C语言和队列进行操作

LinkList Demo(LinkList *L)
{
ListNode *F,*Q,*P;
F=L->front;
Q=F->next;
F->next=NULL;
L->rear=F;
while(Q)
{
P=Q->next;
Q->next=L;
F=Q;
Q=P;
}
L->front=F;
return L;
}
这个函数应该能完成你的要求.

最简单的方法是利用一个临时栈来实现,所有元素出队列后都进栈,然后所有元素出栈再进队列;如果是用STL的vector或list话就更简单了……直接用rbegin迭代器就好了

恩,赞同,说的很对