java实现栈和队列数据结构_数据结构中栈和队列的相互实现

队列和栈

栈:后进先出(LIFO-last in first out):最后插入的元素最先出来。

队列:先进先出(FIFO-first in first out):最先插入的元素最先出来。

两个队列实现栈

1.分析:

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第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.代码:

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第2张图片

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第3张图片

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第4张图片

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第5张图片

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第6张图片

两个栈实现队列

1. 分析:

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第7张图片

2.代码:

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第8张图片

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第9张图片

java实现栈和队列数据结构_数据结构中栈和队列的相互实现_第10张图片

你可能感兴趣的:(java实现栈和队列数据结构)