用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
来源:互联网 发布:mac能用qq旋风吗 编辑:程序博客网 时间:2024/05/24 02:02
对于这道题目,需要知道栈和队列的性质,栈是先进后出的,而队列是先进先出的。对于栈我们可以看成是一个装羽毛球的球筒,第一个放入球筒的球在最底部,最后一个球放在最上部具体的可参照该链接。对于队列,就像买票排队,先排的先出,。言归正传,假如输入1,2,3则该程序也需要按顺序输出1,2,3,该题目用Java的解法如下所示。
import java.util.Stack;
public class Solution {
Stack<Integer> stack1 = new Stack<Integer>();//定义存储整型的栈
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node) {
stack1.push(node);//调用栈的push()方法来实现队列的push()方法,因为进栈和进队列是相似的。
}
public int pop() {
while(!stack1.isEmpty()){//判断栈1为不为空
stack2.push(stack1.pop());//将栈1中的所有数放入到栈2中,注意输入到栈1中的顺序为1,2,3 ,则栈2中的数栈顶到栈底为1,2,3
}
int st2=stack2.pop();//栈2栈顶元素出栈,例子中出来的元素为1
while(!stack2.isEmpty()){//判断栈2为不为空
stack1.push(stack2.pop());//将栈2剩余的元素(自上而下为2,3)放入到栈1中(放入后的顺序自上而下为3,2)
}
return st2;
}
}
阅读全文
0 0
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列完成队列的Push和Pop操作 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
- 用两个栈实现队列 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类
- java 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- MAC卸载jenkins
- VS2015报错:计算机中丢失ucrtbased.dll
- 使用menuconfig配置内核时对.config及内核模块的影响【使用的飞凌嵌入式板】
- JZOJ 5438. 【NOIP2017提高A组集训10.31】Tree
- The import org.apache.commons cannot be resolved 的报错
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
- 浏览器插件推荐
- 动态规划之矩阵链乘法
- 37.Oracle杂记——Oracle常用动态视图v$sqltext_with_newlines
- mysql 基础脑图
- Bagging VS Boosting
- SEO网站优化如何写标题描述
- 将「南通青鸟 IT 教育 96 班同学在 3 教室上陆老师的 Java 课」这个场景进行业务类的抽象,类中包含属性和方法
- 筛法2