1. publicclassLinkQueue<T>{
  2.  
  3.     //结点类
  4.     publicclassNode{
  5.         public T data;
  6.         publicNode next;
  7.  
  8.         publicNode(T obj,Node next){
  9.             this.data = obj;
  10.             this.next = next;
  11.         }
  12.     }
  13.  
  14.     privateNode head,front,rear;
  15.  
  16.     publicLinkQueue(){
  17.         head =newNode(null,null);
  18.         front = rear = head;
  19.         size =0;
  20.     }
  21.  
  22.     //从队尾入队
  23.     publicvoid add(T t)
  24.     {
  25.         Node s =newNode(t,null);
  26.         rear.next = s;
  27.         rear = s;
  28.         size++;//队列长度+1
  29.     }
  30.  
  31.     //从队头出队
  32.     public T poll() throws Exception
  33.     {
  34.         if(rear == front)
  35.             thrownewException("under flow!");
  36.  
  37.         Node temp = front.next;           //暂存队首,以便返回
  38.         front.next = front.next.next;
  39.  
  40.         if(front.next == null)          //最后一个元素出队:还要对队尾处理
  41.             rear = front;
  42.  
  43.         return temp.data;
  44.     }
  45.  
  46.     public boolean isEmpty(){
  47.         return front == rear;
  48.     }
  49.  
  50. }
 
  1.  LinkQueue<String> q =newLinkQueue<String>();
  2.         q.add("a");
  3.         q.add("b");
  4.         q.add("c");
  5.         q.add("d");
  6.         q.add("e");
  7.         q.add("f");
  8.         q.add("g");
  9.         q.add("h");
  10.         q.add("i");
  11.         q.add("j");
  12.         q.add("k");
  13.         q.add("l");
  14.         q.add("m");
  15.         while(!q.isEmpty()){
  16.             String temp = q.poll();
  17.             System.out.print(temp);
  18.         }
 
输出
  1. abcdefghijklm
 
 

队列(链式存储)JAVA代码的更多相关文章

  1. 队列链式存储 - 设计与实现 - API函数

    队列相关基础内容参我的博文:队列顺序存储 - 设计与实现 - API函数 队列也是一种特殊的线性表:可以用线性表链式存储来模拟队列的链式存储. 主要代码: // linkqueue.h // 队列链式 ...

  2. 线性表 顺序存储 链式存储 ---java实现

    首先抽象出一个线性表抽象类(包括主要的增删操作) public abstract class MyAbstractList<E> { public abstract void add(E ...

  3. C++编程练习(4)----“实现简单的栈的链式存储结构“

    如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈:反之,如果它的变化在可控范围内,使用顺序栈会好一些. 简单的栈的链式存储结构代码如下: /*LinkStack.h*/ #i ...

  4. C++编程练习(6)----“实现简单的队列的链式存储结构“

    队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出.简称链队列. 实现代码如下: /* LinkQueue.h 头文件 */ #include<iostream> #defi ...

  5. 队列(FIFO)—循环队列、队列的链式存储

    1 队列的定义 队列是只允许在一端(队尾)进行插入操作,而在另一端(队头)进行删除操作的线性表. 2 队列的特点 1)先进先出是队列最大的特点,是应用中非常常见的模型,例如排队: 2)队列也属于线性表 ...

  6. 【Java】 大话数据结构(6) 栈的顺序与链式存储

    本文根据<大话数据结构>一书,实现了Java版的栈的顺序存储结构.两栈共享空间.栈的链式存储机构. 栈:限定仅在表尾进行插入和删除操作的线性表. 栈的插入(进栈)和删除(出栈)操作如下图所 ...

  7. Java实现链式存储的二叉查找树(递归方法)

    二叉查找树的定义: 二叉查找树或者是一颗空树,或者是一颗具有以下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均小于根节点的关键字: 2. 若右子树非空,则右子树上所有节点关键字值 ...

  8. 线性表的Java实现--链式存储(单向链表)

    单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始. 链式存储结构的线性表将采用一组任意的存储单元存放线性表中的数据元素.由于不需要按顺序存储,链表在 ...

  9. Java实现链式存储的二叉树

    二叉树的定义: 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的.分别称作这个根的左子树和右子树的二叉树组成. 二叉树的遍历方式主要 ...

  10. 队列的顺序存储与链式存储c语言实现

    一. 队列 1.队列定义:只允许在表的一端进行插入,表的另一端进行删除操作的线性表. 2.循环队列:把存储队列的顺序队列在逻辑上视为一个环. 循环队列状态: 初始时:Q.front=Q.rear=0 ...

随机推荐

  1. java_log_02

    配置 在第一部分,我们将介绍配置 logback 的各种方法,给出了很多配置脚本例子.在第二部分,我们将介绍 Joran,它是一个通用配置框架,你可以在自己的项目里使用 Joran 一.Logback ...

  2. centos账户管理命令(root权限)

    cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1        查看所有用户 userdel -r 用户名           -删除用户 ...

  3. underscorejs-map学习

    2.2 map 2.2.1 语法: _.map(list, iteratee, [context]) 2.2.2 说明: 对集合的每个成员依次进行某种操作,将返回的值依次存入一个新的数组.接收3个参数 ...

  4. CSS样式的面向对象思想(一)

    今天来谈一谈CSS样式的面向对象写法.顾名思义,面向对象是高级语言具备的特性,主要是为了程序高可复用,解决模块之间的耦合关系,那么像CSS这样的脚本语言是否也可以使用面向对象的思想,来提高代码的可维护 ...

  5. 新思路:Exception Handle

    以前提到异常处理,马上就想到加try-catch. 没错,这种应激反应是对的.关键是怎么加? 如果想为每一个方法都加异常处理,输出相同格式的异常信息,应该怎么做呢? 难道是为每一个方法加一个try-c ...

  6. jdk-动态代理

    1.HelloWorld package reflect.proxy; public interface HelloWorld { void print(); } 2.HelloWorldImpl p ...

  7. [异常解决] Make nRF51 DFU Project Appear "fatal error: uECC.h: No such file or directory"

    What's the problem When I make the nRF51's DFU project appear "no uECC.h" error: And then ...

  8. 转:zookeeper3.4.5安装笔记

    文章来自于:http://mmicky.blog.163.com/blog/static/150290154201392893623943/   1:解压 官网zookeeper.apache.org ...

  9. Centos6.x 64位 安装JDK

    JDK下载地址: http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html ...

  10. poj 2492A Bug's Life

    http://poj.org/problem?id=2492 #include<cstdio> #include<cstring> #include<algorithm& ...