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. Spring 环境搭建

    1.导包 2.编写Helloworld程序 package cn.test.helloWorld; public class HelloWorld { public void sayHello(){ ...

  2. Jquery Mobile学习

    <!doctype html> <html lang="zh-hans"> <head> <meta charset="UTF- ...

  3. extjs中rowEditing动态编辑

    我们在使用Grid的rowEditing插件时希望能够根据自己的业务需求能够动态的实现那一列是用户可以编辑的,那一列用户不可编辑,下面给出一个方案能够实现rowEditing的动态编辑功能. 之前我通 ...

  4. 理解angularJS中作用域$scope

    angularJS中作用域是什么 作用域(scope)是构成angularJS应用的核心基础,在整个框架中都被广泛使用,因此了解它如何工作是非常重要的 应用的作用域是和应用的数据模型相关联的,同时作用 ...

  5. python模块中的特殊变量

    37.模块的特殊变量:      显示模块中的变量 import s1 print(vars(s1))      1.__doc__:打印注释信息. #!/usr/bin/env python # _ ...

  6. mongod的主要参数有

    ------------------------------------基本配置----------------------   --quiet # 安静输出 --port arg # 指定服务端口号 ...

  7. noi 7219:复杂的整数划分问题

    7219:复杂的整数划分问题 查看 提交 统计 提问 总时间限制:  200ms 内存限制:  65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>= ...

  8. Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)

    Node应用,使用formidable处理文件上传,本地测试没有问题,部署到服务器上之后上传大文件浏览器收到以下错误信息: Failed to load resource: the server re ...

  9. 【JavsScript】关于javascript的路线

    Client JS: Level 1 基本对象的掌握----------------------------------------->Library(兼容)/Widget(UI+功能)---- ...

  10. POJ1942 Paths on a Grid(组合)

    题目链接. 分析: #include <cstdio> #include <iostream> #include <map> #include <cstrin ...