Java实现——链队列(泛型)

news/2026/1/20 20:10:34/文章来源:https://www.cnblogs.com/tww103/p/19508686

package Data_Structure;import java.util.NoSuchElementException;
import java.util.Random;//链队列,附设头结点
public class LinkQueue<T> {//内部结点类private static class Node<T>{T data;Node<T> next;public Node(T val){data=val;}public Node(){}public T getData() {return data;}public Node<T> getNext() {return next;}public void setNext(Node<T> next) {this.next = next;}}private final Node<T> head; //头指针private Node<T> tail; //尾指针private int size; //队列大小//初始化public LinkQueue(){head = tail = new Node<>(); //创建头结点,不存储具体数据//空队列为head和tail指向头结点}//入队public void enQueue(T val){Node<T> newNode = new Node<T>(val); //创建新结点tail.setNext(newNode); //指向新结点newNode.setNext(null); //队尾的next必为空tail = newNode; // 设置新队尾。size++;}//出队public T deQueue(){//处理队空if(head==tail){throw new NoSuchElementException("队列中没有元素");}T val = head.getNext().getData(); //获取队头元素head.setNext( head.getNext().getNext()); //出队//出队后,如果head.getNext为空,则代表队列中只有一个元素,则需更新尾指针if(head.getNext()==null){tail = head;}size--;return val;}// 查看队头元素(不移除)public T peek() {if (head==tail) {throw new NoSuchElementException("队列为空,无法获取队头元素");}return head.getNext().getData();  // 使用getter方法}//清空队列public void clear(){Node<T> p = head.getNext();while(p!=null){Node<T> temp = p.getNext();p.setNext(null);p=temp;}head.setNext(null);tail = head;size= 0;}// 查看队列元素public void show(){if(head==tail)throw new NoSuchElementException("队列为空");Node<T> current = head.getNext(); //获取首元结点while(current!=null){System.out.print(current.getData()+" ");current = current.getNext();}System.out.println();}public static void main(String[] args){LinkQueue<Integer> linkQueue =new LinkQueue<Integer>();for(int i=0;i<10;i++){Random ran = new Random();Integer val = ran.nextInt(999 - 100 + 1) + 100; //自动装箱linkQueue.enQueue(val);}linkQueue.show();System.out.println(linkQueue.peek());System.out.println("被出队的元素:"+linkQueue.deQueue());linkQueue.show();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1190623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSM296的汽车租赁系统vue

目录SSM296汽车租赁系统Vue摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;SSM296汽车租赁系统Vue摘要 SSM296汽车租赁系统是基于SpringSpringMVCMyBatis&#xff08;SSM&#xff09;后端框架与Vue.js前端框架开发的现代化…

2026年上海二手房装修公司推荐,一站式服务与拎包入住交付能力横评 - 品牌鉴赏师

引言在上海二手房装修市场蓬勃发展的当下,消费者面临着众多装修公司的选择。为了给消费者提供全面、客观、公正的参考,我们依据相关的行业标准和市场数据,制定了这份上海二手房装修公司推荐榜单,并推出相应的选择指…

基于微信小程序的医院体检预约管理系统的设计和实现

前言 &#x1f31e;博主介绍&#xff1a;✌CSDN特邀作者、全栈领域优质创作者、10年IT从业经验、码云/掘金/知乎/B站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战&#xff0c;以及程序定制化开发、文档编写、答疑辅导等。✌…

JavaScript 数组合并性能优化:扩展运算符 vs concat vs 循环 push

在日常开发中&#xff0c;我们经常需要合并数组&#xff0c;比如批量导入数据、分页加载列表、处理大量日志等场景。当数组规模较小时&#xff0c;用什么方法都差不多&#xff1b;但当数组达到成千上万条时&#xff0c;选择不当的方法可能会导致栈溢出或内存飙升。 今天我们就…

SSM291的母婴用品商城网站

目录SSM291母婴用品商城网站摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;SSM291母婴用品商城网站摘要 SSM291母婴用品商城网站是一个基于SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架开发的电子商务平台&…

python项目打包为镜像

1.生成 requirements.txt 在项目根目录下,使用 pipreqs生成依赖文件,确保镜像构建时安装正确的包 pip install pipreqs pipreqs . --encoding=utf8 --force 2.编写 Dockerfile # 使用官方 Python 轻量级镜像 FROM python:3.11-slim# 设置容器内工作目录 WORKDIR /app# 复制…

救命神器9个AI论文软件,专科生搞定毕业论文+格式规范!

救命神器9个AI论文软件&#xff0c;专科生搞定毕业论文格式规范&#xff01; 专科生的毕业论文救星&#xff0c;AI工具如何帮你轻松过关&#xff1f; 对于许多专科生来说&#xff0c;毕业论文不仅是学术能力的考验&#xff0c;更是时间与精力的巨大挑战。尤其是在面对格式规范、…

知光项目对象存储模块

前言&#xff1a; 该文档只作为本人学习过程的记录&#xff0c;若还需要更详细的项目文档可以点击下方链接进行购买 文档地址 同时该项目已经在git上面开源&#xff0c;可以在购买前去看一下该项目。 项目后端的git地址&#xff1a;知光git后端地址 项目前端的git地址: 知…

【路径规划】基于RRT、RRT星、RRTX、A_和D_ Lite实现机器人路径规划附matlab代码

✅作者简介&#xff1a;热爱数据处理、建模、算法设计的Matlab仿真开发者。&#x1f34e;更多Matlab代码及仿真咨询内容点击 &#x1f517;&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知。&#x1f525; 内容介绍机器人路径规划是自主移动机器人&…

fastapi里面tortoise-orm的用法

1.文档地址 https://blog.csdn.net/weixin_53909748/article/details/131747197 2.创建实体类,model/models.py from tortoise.models import Model from tortoise import fieldsclass Teacher(Model):id = fields.IntField(pk=True)name = fields.CharField(max_length=25…

【无人机三维路径规划】基于蚁群算法ACO、蜣螂算法DBO、人工蜂鸟算法AHA复杂山地模型下无人机路径规划附Matlab代码

✅作者简介&#xff1a;热爱数据处理、建模、算法设计的Matlab仿真开发者。&#x1f34e;更多Matlab代码及仿真咨询内容点击 &#x1f517;&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知。&#x1f525; 内容介绍一、技术背景与核心目标无人机三维路…

【初阶数据结构】解锁顺序表潜能:一站式实现高效通讯录系统

&#x1f525;小龙报&#xff1a;个人主页 &#x1f3ac;作者简介&#xff1a;C研发&#xff0c;嵌入式&#xff0c;机器人等方向学习者 ❄️个人专栏&#xff1a;《C语言》《【初阶】数据结构与算法》 ✨ 永远相信美好的事情即将发生 文章目录前言一、通讯录框架Test.c二、通讯…

大数据领域数据服务的用户需求挖掘方法

大数据领域数据服务的用户需求挖掘&#xff1a;从“拍脑袋”到“系统性解题” 在大数据行业摸爬滚打5年&#xff0c;我见过太多“叫好不叫座”的数据服务&#xff1a; 花费3个月开发的“实时销售看板”&#xff0c;上线后运营人员说“不如Excel好用”&#xff1b;投入百万搭建的…

西门子S7 200smart与欧姆龙E5cc温控器通讯实战

西门子S7 200smart与欧姆龙E5cc温控器通讯程序 功能&#xff1a;通过西门子s7 200smart与欧姆龙e5cc温控器modbus通讯&#xff0c;实现目标温度设定&#xff0c;实际温度读取&#xff0c;设定报警类型&#xff0c;报警值&#xff0c;报警值上下限&#xff0c;探头型号设定等功能…

【AIGC】2025年12月13日 AutoMV: Automatic Multi-Agent System for Music Video Generation 2:论文

【AIGC】2025年12月13日 AutoMV: Automatic Multi-Agent System for Music Video Generation 1:介绍 代码 GitHub: https://github.com/multimodal-art-projection/AutoMV Website: https://m-a-p.ai/AutoMV/ Abstract 摘要 Music-to-Video (M2V) generation for full-lengt…

【AIGC】2025年12月13日 AutoMV: Automatic Multi-Agent System for Music Video Generation 1:介绍

AutoMV: Automatic Multi-Agent System for Music Video Generation AutoMV:用于音乐视频生成的自动多智能体系统 无需训练 AutoMV is a training-free, multi-agent system that automatically generates coherent, long-form music videos (MVs) directly from a full-leng…

SSM289的美食推荐带店铺管理系统

目录SSM289美食推荐与店铺管理系统摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;SSM289美食推荐与店铺管理系统摘要 SSM289是一款基于SSM&#xff08;SpringSpring MVCMyBatis&#xff09;框架开发的美食推荐与店铺管理系…

SSM278的考研互助辅导平台vue

目录 SSM278考研互助辅导平台Vue实现摘要 开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; SSM278考研互助辅导平台Vue实现摘要 SSM278考研互助辅导平台基于Vue.js框架开发&#xff0c;整合Spring、Spring MVC和MyBatis&#x…

S7-1200 控制 5 轴伺服程序案例分享

S7-1200控制5轴伺服程序案例。1.PTO伺服轴脉冲定位控制功能应用速度模式应用扭矩模式应用。 2.程序为结构化编程,每一功能为模块化设计,具有一个项目都有的功能:自动_手动_单步_暂停后原位置继续运行_轴断电保持_报警功能_气缸运行及报警. 3.每个功能块可以无数次重复调用&…

生产线效率已近瓶颈,如何通过精益管理实现新的突破?

泻药&#xff0c;生产线效率已近瓶颈&#xff0c;如何通过精益管理实现新的突破&#xff1f;这个问题&#xff0c;其实我在很多制造企业里反复听到过。老板常说的是一句话&#xff1a;“人已经很忙了&#xff0c;设备也没少开&#xff0c;但效率就是上不去。”再追问几句&#…