java链式队列
来源:互联网 发布:交通数据百度百科 编辑:程序博客网 时间:2024/04/26 06:16
下面来讨论队列的链式存储,即链队列。
链队列的定义:
队列的链式存储结构简称为链队列。它是限制仅在表头删除和表尾插入的单链表。
链队列的数据存储形式:
链队列基本运算的实现:
/** * */package unit5Queue.linked;/** * 链式队列 * <p>Title: LinkedQueue</p> * <p>Description: </p> * <p>Company: </p> * @author 夏 杰 * @param <T> * @date 2015年12月16日 下午11:12:31 * @vesion 1.0*/public class LinkedQueue<T> {//队列头指针public QueueNode<T> font;//队列头指针public QueueNode<T> rear;//队列数据长度public int size = 0;/** * 初始化队列 * @param rear */public LinkedQueue() {QueueNode<T> node = new QueueNode<T>(null,null);node.next = null;font=rear=node;}/** * 入队列 * @param data */public void push(T data){//创建一个新的节点QueueNode<T> node = new QueueNode<T>(data,null);//将新的节点插入队尾(通过rear.next=node 这样连起来)rear.next = node;rear = node;size++;}/** * 出队列 */public T pop(){if(rear == font){try {throw new Exception("队列为空");} catch (Exception e) {e.printStackTrace();}return null;}else{//node是将要出队列的节点//注意font节点是不存储数据的QueueNode<T> node = font.next;T data = node.data;font.next = node.next;//将要出队列的节点删除掉node = null;size--;return data;}}public boolean isEmpty(){if(font==rear){return true;}return false;} /** * 队列长队 * @return * @author WWX */ public int size(){ return size; } public String toString(){if(isEmpty()){return "[]";}else{StringBuilder sb = new StringBuilder("["); for(QueueNode<T> current = font.next;current!=null;current = current.next){sb.append(current.data.toString() + ",");}int len = sb.length();return sb.delete(len - 2, len).append("]").toString();}}public static void main(String[] args) {LinkedQueue<Integer> queue = new LinkedQueue<Integer>();queue.push(1);queue.push(7);queue.push(6);queue.push(34);queue.push(4);queue.push(33);System.out.println(queue); System.out.println("出队:"+queue.pop()); System.out.println("队列长度="+queue.size()); System.out.println(queue); }}
0 0
- java链式队列
- Java实现链式队列
- java---队列---链式存储
- Java队列(链式实现)
- Java数据结构之链式队列
- java队列实现(顺序队列、链式队列、循环队列)
- java队列实现(顺序队列、链式队列、循环队列)
- JAVA实现数组队列,循环数组队列,链式队列
- Java实现链式队列,顺序队列,循环队列
- 数据结构学习----链式队列(Java实现)
- java 数据结构之 链式存储结构 队列
- 队列(链式存储) java实现
- java使用数组实现链式队列
- java数据结构之链式队列的实现
- 数据结构之java实现链式队列(三)
- JAVA数据结构之链式队列的实现
- java自己实现的链式队列
- 链式队列
- RXJava
- SQLServer2008带端口的连接字符串
- Android—SoundPool
- HDOJ 2032 杨辉三角
- python基础知识--语句
- java链式队列
- 心上莲花次第开系列:一夜情的代价
- 【Java基础提高】深入分析String(四)
- Distributed Systems-Paxos
- 颜色空间
- Tomcat日志系统详解
- Scala之ListBuffer、ArrayBuffer、Queue及Stack介绍
- python中的正则表达式的compile,match,search,sub的使用
- iOS 获取应用当前版本号