队列和栈
栈:后进先出(LIFO-last in first out):最后插入的元素最先出来。
队列:先进先出(FIFO-first in first out):最先插入的元素最先出来。
两个队列实现栈
1.分析:

两个队列实现栈队列和栈分析队列和栈栈:后进先出(LIFO-last in first out):最后插入的元素最先出来。队列:先进先出(FIFO-first in first out):最先插入的元素最先出来。
分析图(1):当栈里面插入元素“abcd”的时候,元素a在栈底(最后出去),d在栈顶(最先出去);
图(2):将元素“abc”从q1中头删,然后再q2中尾插进来之后,头删q1中的元素“d”,就相当于实现了栈顶元素的出栈;
图(3):同理,将元素“ab”从q2中头删,然后尾插到q1中,然后再头删q2中的元素“c”;
图(4):同理,删除元素“b”;
图(5):当栈又插入一个元素“e”时,此时元素“a”不能从队列中删除,而是将元素“a”插入q2中,再删除q1中的元素“e”,最后再删除元素“a”。说明:其中红色框代表该队列中的元素出队列,该队列为空。
2.代码:





两个栈实现队列
1. 分析:

2.代码:



本文探讨如何利用两个队列实现栈的功能,以及如何用两个栈实现队列的特性。通过分析和代码展示,阐述了在数据结构中栈的后进先出(LIFO)和队列的先进先出(FIFO)原理,并详细解释了在不同操作下,如何巧妙地转换这两个数据结构来达到预期的效果。
3304

被折叠的 条评论
为什么被折叠?



