本文的代码来自于《数据结构与算法(JAVA语言版)》,是笔者在网上找到的资料,非正式出刊版物。笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论。

public class QueueSLinked implements Queue {private SLNode front;//frontz指向第一个元素前面一个位置private SLNode rear;//rear指向最后一个元素位置private int size;public QueueSLinked() {front = new SLNode();rear = front;size = 0;}public int getSize() {return size;}//返回队列的大小public boolean isEmpty() {return size==0;}//判断队列是否为空public void enqueue(Object e) {SLNode p = new SLNode(e,null);rear.setNext(p);rear = p;size++;}//数据元素e入队public Object dequeue() throws QueueEmptyException {if (size<1)throw new QueueEmptyException("错误:队列为空");SLNode p = front.getNext();front.setNext(p.getNext());size--;if (size<1) rear = front;   //如果队列为空,rear指向头结点return p.getData();}//队首元素出队public Object peek() throws QueueEmptyException {if (size<1)throw new QueueEmptyException("错误:队列为空");return front.getNext().getData();}//取队首元素
}


public interface Queue {//返回队列的大小public int getSize();//判断队列是否为空public boolean isEmpty();//数据元素e入队public void enqueue(Object e);//队首元素出队public Object dequeue() throws QueueEmptyException;//取队首元素public Object peek() throws QueueEmptyException;
}

public class QueueEmptyException extends RuntimeException {public QueueEmptyException(String err) {super(err);}
}

public class SLNode implements Node {private Object element;private SLNode next;public SLNode() {this(null,null);}public SLNode(Object ele, SLNode next){this.element = ele;this.next = next;}public SLNode getNext(){return next;}public void setNext(SLNode next){this.next = next;}/****************Node Interface Method**************/public Object getData() {return element;}public void setData(Object obj) {element = obj;}
}

public interface Node {//获取结点数据域public Object getData();//设置结点数据域public void setData(Object obj);
}

数据结构之基于Java的链接队列实现相关推荐

  1. 数据结构之基于Java的链接列表实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 双链表实现结构图 publ ...

  2. 数据结构之基于Java的顺序队列实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 重点理解通过取余运算将线性 ...

  3. 数据结构之基于Java的链接栈实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...

  4. 数据结构之基于Java的顺序列表实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...

  5. 数据结构之基于Java的顺序栈实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...

  6. 数据结构之基于Java的最优二叉树实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. import dsa.ad ...

  7. 数据结构之基于Java的二叉树实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...

  8. 基于数组实现队列(基于Java实现)

    title: 基于数组实现队列(基于Java实现) tags: 数组 队列 基于数组实现队列的原理: 基于数组实现的队列,使用两个指针,一个是head指针 ,指向的是队头:一个是tail指针,指向队尾 ...

  9. Java数据结构和算法(五)——队列

    前面一篇博客我们讲解了并不像数组一样完全作为存储数据功能,而是作为构思算法的辅助工具的数据结构--栈,本篇博客我们介绍另外一个这样的工具--队列.栈是后进先出,而队列刚好相反,是先进先出. 回到顶部 ...

最新文章

  1. linux 启动2个tomcat,在LINUX中启动多个TOMCAT
  2. python替换字符串内容
  3. hdoj 2544 最短路
  4. 动态构建siteMap(导航,asp.net)
  5. ftp服务器 无线路由器,用无线路由器构建FTP服务器 快乐大家分享
  6. Mybatis_映射文件配置
  7. innobackupex中--slave-info参数的含义和适用场景
  8. StringBuffer、StringBuilder、冒泡与选择排序、二分查找、基本数据类型包装类_DAY13...
  9. (3.13)常用知识-元数据函数
  10. Spring Cloud Sleuth服务链路跟踪之入门篇(学习总结)
  11. 获取客户端用户真实 IP 地址
  12. 黑客帝国1-3 1080P 35.9G 下载
  13. wifi已连接不可上网服务器无响应,wifi已连接不可上网是什么原因?
  14. 带sex的net域名_域名劫持的几种方法、域名劫持有什么方式
  15. maven项目pom.xml文件Maven install时报错
  16. 电脑(伪)大神装B必备,来学几个windows脚本命令
  17. Hydra-口令破解神器
  18. TSMaster1.1版本更新补丁
  19. 【C语言】--编译及编译器
  20. Invalid -Xlog option ‘-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=3

热门文章

  1. 人生永无止境的意思是什么_人生追求永无止境名言
  2. android cmake 打印_Android NDK 开发:CMake 使用
  3. python 1000线程_python单线程下载1000个视频()
  4. 桌面整理工具不显示文件夹_Win10桌面图标显示不正常变成了白色
  5. java 安装包_手机也可以编写Java程序代码?这些黑科技你值得拥有!
  6. 2012高等学校计算机等级考试试卷二级 vb.net程序设计,2012上海市高等校计算机等级考试试卷二级VBNET程序设计.docx...
  7. java中去除文件名的后缀名_Java程序在最后一个点后去除其扩展名的文件名
  8. java 双等于 equals_在Java中等于equals vs Arrays.equals
  9. kali 运行java_kali linux运行java程序
  10. 微服务get请求条用_SpringCloud微服务(07):Zipkin组件,实现请求链路追踪