使用队列实现栈
使用队列实现一个栈的主要思想就是采用两个队列,一个为存放数据,一个为辅助,为什么会是这个样子的呢?因为栈是先进后出,而队列是先进先出
假设现在有两个队列:data和help
入栈时:
将数据压入data队列
出栈时:
将data的数据除最后一个外,全部压人help中,这么做只是为了把最后一个数据拿出来
根据队列的性质此时的help中的数据只是比原来的data少最后一个数据其他的都没有变化
此时data队列只剩一个数据,也就是最后压入的数据,将该数据出队,最后将help与data进行交换,
package train;
import java.util.LinkedList;
import java.util.Queue;
public class 队列实现栈 {
public class Node {
public Queue<Integer> q1;
public Queue<Integer> help;
public int value ;