数据结构与算法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() { ...
随机推荐
- iperf测试工具
一.iperf工具安装: 1.获取iperf源码安装包(iperf-3.0.5.tar.gz) 2.将iperf安装包上传到服务器/tmp/目录并解压 [root@localhost /]#cd /t ...
- linux过滤旧文件中的空行和注释行剩余内容组成新文件
一.说明 在某些场景下我们想要将旧文件中空行和注释行过滤掉,将产生实际效果的行保留. 比如redis提供的配置示例文件中有很多用于说明的空行和注释行,我们想把产生实际效果的配置行筛选出来组成新的简洁的 ...
- python3线程启动与停止
转自: https://blog.csdn.net/weixin_38125866/article/details/76795462 https://www.cnblogs.com/lcchuguo/ ...
- 关于jsp页面的一些知识(一)
1,<%@ include file=” ”%> ——最简洁易懂的解释 http://blog.csdn.net/little_stars/article/details/17373477 ...
- shiro过滤器解释类
anon -- org.apache.shiro.web.filter.authc.AnonymousFilter authc -- org.apache.shiro.web.filter.authc ...
- chrome hosts
# Go Hosts# 2017-05-02 02:13:04# Localhost (DO NOT REMOVE)127.0.0.1 localhost::1 localhost ip6 ...
- web service简述,通俗易懂----转
一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intrane ...
- win10打文件预览功能
- 【收集资料】OpenGL学习
1.课本配套网站,有Sample Code和书中的图片等 http://math.ucsd.edu/~sbuss/MathCG/ 2.Visual C++的帮助系统可查阅基本OpenGL函数(不包 ...
- 數據庫ORACLE轉MYSQL存儲過程遇到的坑~(總結)
ORACLE數據庫轉MySQL數據庫遇到的坑 總結 最近在做Oracle轉mysql的工程,遇到的坑是真的多,尤其是存儲過程,以前都沒接觸過類似的知識,最近也差不多轉完了就總結一下.希望能幫到一些人( ...