数据结构之基于Java的链接队列实现
本文的代码来自于《数据结构与算法(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的链接队列实现相关推荐
- 数据结构之基于Java的链接列表实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 双链表实现结构图 publ ...
- 数据结构之基于Java的顺序队列实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 重点理解通过取余运算将线性 ...
- 数据结构之基于Java的链接栈实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...
- 数据结构之基于Java的顺序列表实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...
- 数据结构之基于Java的顺序栈实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...
- 数据结构之基于Java的最优二叉树实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. import dsa.ad ...
- 数据结构之基于Java的二叉树实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...
- 基于数组实现队列(基于Java实现)
title: 基于数组实现队列(基于Java实现) tags: 数组 队列 基于数组实现队列的原理: 基于数组实现的队列,使用两个指针,一个是head指针 ,指向的是队头:一个是tail指针,指向队尾 ...
- Java数据结构和算法(五)——队列
前面一篇博客我们讲解了并不像数组一样完全作为存储数据功能,而是作为构思算法的辅助工具的数据结构--栈,本篇博客我们介绍另外一个这样的工具--队列.栈是后进先出,而队列刚好相反,是先进先出. 回到顶部 ...
最新文章
- linux 启动2个tomcat,在LINUX中启动多个TOMCAT
- python替换字符串内容
- hdoj 2544 最短路
- 动态构建siteMap(导航,asp.net)
- ftp服务器 无线路由器,用无线路由器构建FTP服务器 快乐大家分享
- Mybatis_映射文件配置
- innobackupex中--slave-info参数的含义和适用场景
- StringBuffer、StringBuilder、冒泡与选择排序、二分查找、基本数据类型包装类_DAY13...
- (3.13)常用知识-元数据函数
- Spring Cloud Sleuth服务链路跟踪之入门篇(学习总结)
- 获取客户端用户真实 IP 地址
- 黑客帝国1-3 1080P 35.9G 下载
- wifi已连接不可上网服务器无响应,wifi已连接不可上网是什么原因?
- 带sex的net域名_域名劫持的几种方法、域名劫持有什么方式
- maven项目pom.xml文件Maven install时报错
- 电脑(伪)大神装B必备,来学几个windows脚本命令
- Hydra-口令破解神器
- TSMaster1.1版本更新补丁
- 【C语言】--编译及编译器
- Invalid -Xlog option ‘-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=3
热门文章
- 人生永无止境的意思是什么_人生追求永无止境名言
- android cmake 打印_Android NDK 开发:CMake 使用
- python 1000线程_python单线程下载1000个视频()
- 桌面整理工具不显示文件夹_Win10桌面图标显示不正常变成了白色
- java 安装包_手机也可以编写Java程序代码?这些黑科技你值得拥有!
- 2012高等学校计算机等级考试试卷二级 vb.net程序设计,2012上海市高等校计算机等级考试试卷二级VBNET程序设计.docx...
- java中去除文件名的后缀名_Java程序在最后一个点后去除其扩展名的文件名
- java 双等于 equals_在Java中等于equals vs Arrays.equals
- kali 运行java_kali linux运行java程序
- 微服务get请求条用_SpringCloud微服务(07):Zipkin组件,实现请求链路追踪