Java 用栈实现队列详解编程语言
2023-06-13 09:11:43 时间
栈是先入后出,队列是先入先出。根据这个思想,可以用一个栈作为入队,另一个栈作为出队。只要把第一个栈的栈顶的元素压入第二个栈就好了,出队的时候输出第二个栈的栈顶,如果第二个栈的空了就需要不断操作从第一个栈的栈顶压入第二个栈,但是如果第一个栈也空了,那就说明所有元素都输出来了。
import java.util.Stack; * 用栈实现队列 * @author rhq public class StackQueue { // 作为入队序列 private Stack Integer stack1 = new Stack Integer (); // 作为出队序列 private Stack Integer stack2 = new Stack Integer (); public void push(int node) { // 入队时,要保证stack2为空 while (!stack2.empty()) stack1.push(stack2.peek()); stack2.pop(); stack1.push(node); System.out.println("入队元素是:" + stack1.peek()); public int pop() { // 出队时,要保证stack1为空 while (!stack1.empty()) stack2.push(stack1.peek()); stack1.pop(); System.out.println("出队元素是:" + stack2.peek()); int temp = stack2.peek(); stack2.pop(); return temp; public static void main(String[] args) { StackQueue so = new StackQueue(); so.push(1); so.push(2); so.push(3); so.pop(); so.pop(); so.push(4); so.pop(); so.push(5); so.pop(); so.pop(); }
最终结果
入队元素是:1 入队元素是:2 入队元素是:3 出队元素是:1 出队元素是:2 入队元素是:4 出队元素是:3 入队元素是:5 出队元素是:4 出队元素是:5
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/16532.html
cjava相关文章
- Java面试题目,Java中级面试题及答案整理(1)
- win10配置java环境变量,解决javac不是内部或外部命令等问题「建议收藏」
- 初识java——hello world(代码讲解很详细)[通俗易懂]
- 做了三年Java,java注释的三种形式
- java switch用法_Java switch语句
- java怎么运行_怎样启动JAVA?「建议收藏」
- java启动器_JAVA基础:Java 启动器如何查找类
- java工作流_Java 实现简单工作流
- java CAS详解[通俗易懂]
- java运行机制是什么_JAVA运行机制
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java 随机数算法_Java随机数算法原理与实现方法实例详解
- 这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)
- java打印出菱形图案_输入以下图案菱形
- Java-监听器
- Java HashMap原理
- 从 Java 的角度看待 Go 的内存管理| 青训营笔记
- java状态机的一种优雅写法
- 【Java AWT 图形界面编程】事件处理机制 ① ( 事件处理步骤 | 创建事件源对象 -> 自定义事件监听器 -> 创建监听器实例对象 -> 事件源绑定事件监听器 )
- 聊聊如何运用JAVA注解处理器(APT)
- java 创建一个JDBC表格模型详解编程语言
- java通过XPath解析xml节点详解编程语言
- Java 对图片90度旋转详解编程语言
- 数据库字段名称转java字段名称详解编程语言
- Java学习笔记之八JavaBean中布尔类型使用注意事项详解编程语言
- Java设计模式之单例模式详解编程语言
- 为什么说Java程序员到了必须掌握 Spring Boot 的时候?
- 使用Java轻松导出MySQL数据(java导出mysql)
- 基于Linux操作系统上实现 Java 编程(linux r java)
- Java与MySQL的无缝衔接:实现高效数据操作(java中使用mysql)
- Java和Redis的配合安装方法(java redis安装)
- 数据Java操作MySQL库:获取你所需的数据(java获取mysql)
- 基于java枚举类综合应用的说明
- Java中new关键字和newInstance方法的区别分享