数据结构之队列(链式存储)
来源:互联网 发布:女健身教练 知乎 编辑:程序博客网 时间:2024/06/07 02:39
一:队列结点
package linkedqueue;/** * @packagname:linkedqueue * @classname:LinkedQueueNode * @date:2017/1/25 * @author:cullianns * @des:链式存储结点结构 */public class LinkedQueueNode<T> { T data; LinkedQueueNode<T> next;}
二:产生链式队列结点的工厂类
package linkedqueue;/** * @packagname:linkedqueue * @classname:LinkedQueueNodeFactory * @date:2017/1/25 * @author:cullinans * @des:创建链式存储结构结点的工厂类 */public class LinkedQueueNodeFactory { public static LinkedQueueNode createLinkedQueueNode(){ return new LinkedQueueNode(); }}
三:队列相关的入队出队操作
package linkedqueue;/** * @packagname:linkedqueue * @classname:LinkedQueueList * @date:2017/1/25 * @author:cullinnas * @des:链式存储结构队列 */public class LinkedQueueList<T> { LinkedQueueNode<T> front; LinkedQueueNode<T> rear; //构造方法初始化 public LinkedQueueList() { this.front=null; this.rear=null; } //入队操作 public int enQueue(LinkedQueueList<T> ll,T data){ LinkedQueueNode<T> tempNode=ll.rear;//定义一个临时结点指向队列的尾部 LinkedQueueNode newnode = LinkedQueueNodeFactory.createLinkedQueueNode();//创建一个新结点 newnode.data=data;//给新结点的数据赋值 newnode.next=null;//新结点的下一个结点的引用赋值为空 ll.rear.next=newnode;//新结点的引用赋值给旧的尾结点的下一个元素引用 ll.rear=newnode;//将队列的尾指针指向新结点 return 0; } //出栈 public T deQueue(LinkedQueueList<T> l,T ele){ LinkedQueueNode<T> tempnode=l.front; if(l.front!=l.rear){//判断队列是否为空 ele=tempnode.data; tempnode=tempnode.next; l.front=tempnode; return ele; }else if(l.front.data!=null){ return l.front.data; } return null; } //main方法用来测试队列操作 public static void main(String[] args){ LinkedQueueNode<Integer> twonode=new LinkedQueueNode<Integer>(); twonode.data=1; twonode.next=null; LinkedQueueList<Integer> l=new LinkedQueueList<Integer>(); l.front=twonode; l.rear=twonode; Integer[] eles=new Integer[]{2,3,4,5,6,7,8}; for(int i=0;i<eles.length;i++){ l.enQueue(l,eles[i]); } l.printQueue(l); } //打印队列出队数值 public void printQueue(LinkedQueueList l){ T data=null; while(l.front!=l.rear){ System.out.println(l.deQueue(l,data)); } if(l.front.data!=null){ System.out.println(l.deQueue(l,data)); } }}
1 0
- 数据结构学习之队列(链式存储)
- 数据结构之队列(链式存储)
- 常用数据结构之链式存储队列
- java 数据结构之 链式存储结构 队列
- 数据结构——队列之链式存储
- 数据结构---队列---链式存储
- 数据结构之链式队列
- 数据结构之链式队列
- 数据结构之链式队列
- 数据结构之链式队列
- 数据结构之队列(链式队列)
- Python 数据结构 之 队列 的顺序、链式存储结构
- 算法与数据结构之队列的链式存储
- 数据结构学习之队列的链式存储的C++实现
- 数据结构之线性表——队列的链式存储
- 数据结构之链式队列(优化版)
- 数据结构之队列(顺序队列和链式队列)
- 数据结构(队列):队列的链式存储结构
- nginx去掉url中的index.php
- 基于BIO的Java Socket通信
- HAWQ 权限 (用户/角色)-
- Codeforces Round #404 (Div. 2) A&B
- Bad format for Timestamp '1' in column 12.错误
- 数据结构之队列(链式存储)
- L2-004. 这是二叉搜索树吗?
- mysql数据库的简单操作
- Android中的TCP/IP协议,Socket,Http协议间的关系
- 创建私有Pod
- 《刻意练习》读书笔记
- myeclipse中设置注释(作者 时间)
- Segmentation fault(Core Dump)
- Hibernate的ID生成策略