假设有两个堆栈,分别是s1,s2,现在有数列“1,2,3,4,5”,要让这个数列实现先进先出的功能,也就是用两个堆栈组成一个队列,如何实现? 分析: 先将数列压入栈s1,数列在栈中由顶到底的元素为“5,4,3,2,1”,再将数列压入栈s2,数列在栈中由顶到底的元素为“1,2,3,4,5”,如此出栈,则是“1,2,3,4,5”. 必须注意,实现队列中的入队操作以及出队操作,并非如同上述操作那么直观.上述操作有一个前提,即两个栈都没有元素.而一般情况,s1和s2中都可能有元素或者没有元素.所以要抽象