数据结构与算法Java描述 队列
package com.cjm.queue; /**
* 数据结构与算法Java实现 队列
*
* @author 小明
*
*/
public class Myqueue {
private Node head;// 队列的队头
private Node rear;// 对列的尾
private int size;//队列长度
public Myqueue() {//初始化
head=rear=null;
size=0;
}
/*
* 插入函数
*/
public void add(Node node) {
if(size==0) {//当队列为空时
head=rear=node;//队头和队尾均为插入元素
size++;//长度加一
}else {//当长度不为0时
rear.setNext(node);//改变队尾的后继
rear=node;//改变队尾
size++;//长度加一
}
}
public void out() throws IndexException {
if(size==0) {//对列为空时
throw new IndexException("队列中为空,无法出队列");
}else {//队列不为空
head=head.getNext();//修改队头
size--;//长度减一
}
}
@Override
public String toString() {
String str=" ";
Node temp=head;
while(temp!=null) {
str+=temp.getElement()+" ";//拼接
temp=temp.getNext();//后移
}
str="["+str+" ]";
return str;
}
public static void main(String[] args) throws IndexException {
Myqueue myqueue=new Myqueue();
myqueue.add(new Node(1));
myqueue.add(new Node(2));
myqueue.add(new Node(3));
myqueue.add(new Node(4));
myqueue.add(new Node(5));
myqueue.add(new Node(6));
myqueue.add(new Node(7));
myqueue.add(new Node(8));
myqueue.add(new Node(9));
myqueue.add(new Node(10));
myqueue.out();
myqueue.out();
System.out.println(myqueue);
}
} class Node<T> {
private T element;// 数据域
private Node next;// 后继 public Node(T t) {
element = t;
next = null;
} public Node getNext() {
return next;
} public T getElement() {
return element;
} public void setNext(Node next) {
this.next = next;
}
}
/*
* 索引异常类
*/
class IndexException extends Exception {
public IndexException() { } public IndexException(String s) {
super(s);
}
}
结果如下:

数据结构与算法Java描述 队列的更多相关文章
- 数据结构与算法 java描述 第一章 算法及其复杂度
目录 数据结构与算法 java描述 笔记 第一章 算法及其复杂度 算法的定义 算法性能的分析与评价 问题规模.运行时间及时间复杂度 渐进复杂度 大 O 记号 大Ω记号 Θ记号 空间复杂度 算法复杂度及 ...
- 数据结构与算法 --- js描述队列
js描述队列 队列的特性是只能在队尾插入元素,在队首删除元素,先进先出: 队列被用在很多地方,比如提交操作系统执行的一系列进程,打印任务池,模拟现实中的排队: //队列类 function Queue ...
- 数据结构与算法JavaScript描述——队列
注:澄清一个bug: /** * 删除队首的元素: */ function dequeue(){ return this.dataStore.shift(); } 应该有return: 队列是一种 ...
- 《数据结构与算法JavaScript描述》
<数据结构与算法JavaScript描述> 基本信息 作者: (美)Michael McMillan 译者: 王群锋 杜欢 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9 ...
- 翻阅《数据结构与算法javascript描述》--数组篇
导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性 ...
- 数据结构与算法javascript描述
<数据结构与算法javascript描述>--数组篇 导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScri ...
- 数据结构与算法C++描述学习笔记1、辗转相除——欧几里得算法
前面学了一个星期的C++,以前阅读C++代码有些困难,现在好一些了.做了一些NOI的题目,这也是一个长期的目标中的一环.做到动态规划的相关题目时发现很多问题思考不通透,所以开始系统学习.学习的第一本是 ...
- 列表的实现-----数据结构与算法JavaScript描述 第三章
实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...
- 《数据结构与算法JavaScript描述》中的一处错误
最近在看<数据结构与算法JavaScript描述>这本书,看到选择排序这部分时,发现一个比较大的错误. 原书的选择排序算法是这样的: function selectionSort() { ...
随机推荐
- 三大平衡树(Treap + Splay + SBT)总结+模板[转]
Treap树 核心是 利用随机数的二叉排序树的各种操作复杂度平均为O(lgn) Treap模板: #include <cstdio> #include <cstring> #i ...
- iOS性能优化总结
iOS性能优化总结.关于 iOS 性能优化梳理: 基本工具.业务优化.内存优化.卡顿优化.布局优化.电量优化. 安装包瘦身.启动优化.网络优化等. 关于iOS 性能优化梳理: 基本工具.业务优化.内存 ...
- 线性回归决定系数之Why SST=SSE+SSR
线性最小二乘法的原则是使得误差的平方和最小,即 为了使S最小,令其对参数的偏导数为零: 即 即 根据方程1和方程2,得 又∵ ∴ 参考链接:https://math.stackexchange.com ...
- tocat 域名绑定
修改tomcat/conf/server.xml配置文件,新增部分如下 <Service name="Catalina1"> <Connector port=&q ...
- Android 音视频深入 六 使用FFmpeg播放视频(附源码下载)
本篇项目地址,求starhttps://github.com/979451341/Audio-and-video-learning-materials/tree/master/FFmpeg%E6%92 ...
- vue数据请求显示loading图
一般项目中,有时候会要求,你在数据请求的时候显示一张gif图片,然后数据加载完后,消失.这个,一般只需要在封装的axios中写入js事件即可.当然,我们首先需要在app.vue中,加入此图片.如下: ...
- C++定义自己的异常
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 【转载】linux Jumpserver跳板机堡垒机部署安装使用教程
原文地址:https://idc.wanyunshuju.com/li/554.html
- 《Python》re模块补充、异常处理
一.re模块 1.match方法 import re # match 验证用户输入的内容 ret = re.match('\d+', 'hhoi2342ho12ioh11') print(ret) # ...
- linux系统中不同颜色的文件夹及根目录介绍
文件颜色的代表含义: 蓝色:目录 绿色:可执行文件 红色:压缩文件 蓝绿色:链接文件 灰色:其他文件 黄色:设备文件,其中包括block,char,fifo. 白色:表示普通文件 红色闪烁:表示链 ...