news 2026/5/1 10:15:09

【java入门到放弃】算法中队列

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【java入门到放弃】算法中队列

1、普通队列

FIFO、全称:First In, First Out、中文意思:先进先出

offer / poll / peek(安全)或add / remove / element(严格(为null会抛异常))

publicstaticvoidmain(String[]args){// 用 LinkedList 实现普通队列Queue<Integer>queue=newArrayDeque<>();// 入队offerqueue.offer(1);queue.offer(2);queue.offer(3);// 查看队首peekSystem.out.println(queue.peek());// 1// 出队pollSystem.out.println(queue.poll());// 1System.out.println(queue.poll());// 2// 再出队System.out.println(queue.poll());// 3System.out.println(queue.poll());// null}

2、双端队列

publicstaticvoidmain(String[]args){Deque<Integer>deque=newArrayDeque<>();// 队尾入队deque.offerLast(1);deque.offerLast(2);// 队首入队deque.offerFirst(0);// 查看队首和队尾System.out.println(deque.peekFirst());// 0System.out.println(deque.peekLast());// 2// 出队System.out.println(deque.pollFirst());// 0System.out.println(deque.pollLast());// 2}

3、栈

LIFO、后进先出

publicstaticvoidmain(String[]args){// 创建一个栈(使用 ArrayDeque)Deque<String>stack=newArrayDeque<>();// 1. push(E e) 压栈stack.push("苹果");stack.push("香蕉");stack.push("橘子");System.out.println("压栈后: "+stack);// [橘子, 香蕉, 苹果]// 2. peek() 查看栈顶元素Stringtop=stack.peek();System.out.println("栈顶元素: "+top);// 橘子System.out.println("查看后栈: "+stack);// 栈内容不变// 3. pop() 弹栈Stringremoved=stack.pop();System.out.println("弹出的元素: "+removed);// 橘子System.out.println("弹栈后栈: "+stack);// [香蕉, 苹果]// 4. isEmpty() 判断栈是否为空System.out.println("栈是否为空? "+stack.isEmpty());// false// 5. size() 栈中元素数量System.out.println("栈中元素数量: "+stack.size());// 2// 再弹一次stack.pop();stack.pop();System.out.println("全部弹出后,栈是否为空? "+stack.isEmpty());// true}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 16:18:30

Xenia Canary终极指南:现代PC上完美体验Xbox 360经典游戏

想要在现代电脑上重温《光环》系列、《战争机器》等Xbox 360经典游戏吗&#xff1f;Xenia Canary作为目前最先进的Xbox 360模拟器&#xff0c;通过精密的硬件仿真技术&#xff0c;让数百款经典游戏在PC平台重获新生。本文将为你提供完整的安装配置、性能优化和实用技巧&#xf…

作者头像 李华
网站建设 2026/5/1 4:44:04

Node.js应用打包终极指南:使用Nexe实现单文件执行快速上手

Node.js应用打包终极指南&#xff1a;使用Nexe实现单文件执行快速上手 【免费下载链接】nexe &#x1f389; create a single executable out of your node.js apps 项目地址: https://gitcode.com/gh_mirrors/ne/nexe 还在为Node.js应用部署依赖问题而烦恼吗&#xff1…

作者头像 李华
网站建设 2026/4/30 22:58:59

如何用MosDNS在10分钟内打造企业级DNS加速网络:完整实战指南

如何用MosDNS在10分钟内打造企业级DNS加速网络&#xff1a;完整实战指南 【免费下载链接】mosdns mosdns - 一个DNS转发器&#xff0c;使用Go语言编写&#xff0c;遵循GPLv3许可。 项目地址: https://gitcode.com/gh_mirrors/mo/mosdns MosDNS是一款基于Go语言开发的高性…

作者头像 李华
网站建设 2026/5/1 5:47:22

终极指南:使用urdf-viz轻松可视化机器人URDF文件

终极指南&#xff1a;使用urdf-viz轻松可视化机器人URDF文件 【免费下载链接】urdf-viz 项目地址: https://gitcode.com/gh_mirrors/ur/urdf-viz urdf-viz是一个强大的开源工具&#xff0c;专门用于可视化和交互URDF&#xff08;统一机器人描述格式&#xff09;和XACRO…

作者头像 李华
网站建设 2026/5/1 5:04:23

OpenBoardView终极指南:专业.brd文件查看器完整教程

OpenBoardView终极指南&#xff1a;专业.brd文件查看器完整教程 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView OpenBoardView是一款功能强大的开源电路板设计文件查看工具&#xff0c;专门用于查看.brd格…

作者头像 李华
网站建设 2026/5/1 5:03:53

基于Kotaemon和向量数据库的智能文档问答系统搭建教程

基于Kotaemon和向量数据库的智能文档问答系统搭建教程 在企业知识爆炸式增长的今天&#xff0c;员工花三小时翻找一份报销政策&#xff0c;客服为确认一个产品参数反复查阅手册——这些低效场景每天都在真实发生。传统搜索引擎依赖关键词匹配&#xff0c;面对“差旅住宿标准”…

作者头像 李华