java 数据结构队列的代码实现,可以简单的进行入队列和出队列的操作

/**
* java数据结构之队列的实现
* 2016/4/27
**/
package cn.Link;
import java.util.*; public class Queue{
Node tail = new Node();
Node nowNode = new Node(); //永远指向队首
int size;
Queue(){};
Queue(String date){
this.tail.date = date;
this.tail.next = null;
this.nowNode.next = this.tail;
this.size = 1;
System.out.println("队列已经被建立,"+date+"被加入到队列中");
} //节点类
class Node{
String date;
Node next;
Node(){};
Node(String date){
this.date = date;
}
} //向队列中插入数据
public void EnQueue(String date){
Node preNode = new Node(date);
preNode.next = this.nowNode.next;
this.nowNode.next = preNode;
this.size++;
System.out.println("数据"+date+"被加入到队列中");
} //出队列操作
public void DeQueue(){
Node preNode = new Node();
preNode.next = this.nowNode.next;
while(true){
if(preNode.next.next != this.tail){
preNode.next = preNode.next.next;
}else{
preNode.next.next = null;
this.tail = preNode.next;
System.out.println("出队列完成~~~"); break;
}
}
this.size--;
} //遍历队列输出
public void PrintQueue(){
Node preNode = new Node();
preNode.next = this.nowNode.next;
System.out.print("遍历输出队列: ");
while(preNode.next != null){
System.out.print(" -->"+preNode.next.date);
preNode.next = preNode.next.next;
}
System.out.println("+++++++++++当前队列的长度为"+this.size);
} //清空队列
public void clear(){
this.nowNode.next = null;
this.tail = null;
this.size = 0;
System.out.println("队列已被清空"); } public static void main(String[] args){
Queue queue = new Queue("sum1");
queue.EnQueue("sum2");
queue.EnQueue("sum3");
queue.EnQueue("sum4");
queue.EnQueue("sum5");
queue.EnQueue("sum6");
queue.EnQueue("sum7");
queue.EnQueue("sum8");
queue.PrintQueue();
queue.DeQueue();
queue.DeQueue();
queue.PrintQueue();
}
}

java 数据结构 队列的实现的更多相关文章

  1. java数据结构——队列、循环队列(Queue)

    每天进步一点点,坚持就是成功. 1.队列 /** * 人无完人,如有bug,还请斧正 * 继续学习Java数据结构————队列(列队) * 队列和栈一样,都是使用数组,但是队列多了一个队头,队头访问数 ...

  2. java数据结构----队列,优先级队列

    1.队列:和栈中的情况不同,队列中的数据项不总是从数组下标0开始,移除一个数据项后,队头指针会指向下标较高的数据项,其特点:先入先出 2.图解 3.队列的实现代码: 3.1.Queue.java pa ...

  3. Java数据结构——队列

    //================================================= // File Name : Queue_demo //-------------------- ...

  4. Java数据结构和算法(四)赫夫曼树

    Java数据结构和算法(四)赫夫曼树 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 赫夫曼树又称为最优二叉树,赫夫曼树的一个 ...

  5. Java数据结构之队列的实现以及队列的应用之----简单生产者消费者应用

    Java数据结构之---Queue队列 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在 ...

  6. Java数据结构和算法 - 栈和队列

    Q: 栈.队列与数组的区别? A: 本篇主要涉及三种数据存储类型:栈.队列和优先级队列,它与数组主要有如下三个区别: A: (一)程序员工具 数组和其他的结构(栈.队列.链表.树等等)都适用于数据库应 ...

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

    队列.queue,就是现实生活中的排队. 1.简单队列: public class Queqe { private int array[]; private int front; private in ...

  8. 数据结构与算法Java描述 队列

    package com.cjm.queue; /** * 数据结构与算法Java实现 队列 * * @author 小明 * */ public class Myqueue { private Nod ...

  9. Java数据结构和算法(二)--队列

    上一篇文章写了栈的相关知识,而本文会讲一下队列 队列是一种特殊的线性表,在尾部插入(入队Enqueue),从头部删除(出队Dequeue),和栈的特性相反,存取数据特点是:FIFO Java中queu ...

随机推荐

  1. Chapter 15_0 模块和包

    通常,Lua不会设置规则,相反会提供很多强有力的机制来使开发者有能力实现出最适应的规则. 然而,这种方法对于模块就不行了.模块系统的一个主要目标是允许以不同的形式来共享代码. 但若没有一项公共的规则就 ...

  2. jQuery控制表格行移动,序号不变

    @model Gd.NetSign.Controllers.DTO.SysPamaterDTO @{ ViewBag.Title = "SysPamatList"; //Layou ...

  3. SharePoint 2013 工作流设计之Designer 使用“可视化视图

    转载自:http://www.cnblogs.com/jianyus/p/3406309.html SharePoint 2013增强了工作流功能,而Designer里面也添加了可视化设计视图,也就是 ...

  4. tomcat配置多个虚拟主机

    先修改默认端口(8080),http的默认端口是80,我们将8080改成80,这样域名就不用带上端口了 修改conf文件夹下的server.xml文件 添加多个主机(以下三个主机对应三个域名,三个域名 ...

  5. js 中创建对象

    对象是什么 从JavaScript定义上讲对象是无序属性的集合,其属性可以包含基本值.对象或函数.也就是说对象是一组没有特定顺序的属性,每个属性会映射到一个值上,是一组键值对,值可以是数据或对象. 最 ...

  6. jquery-选择checkbox的多种策略

    checkbox属性: var val = $("#checkAll").val();// 获取指定id的复选框的值 var isSelected = $("#check ...

  7. 【hdu-2588】GCD(容斥定理+欧拉函数+GCD()原理)

    GCD Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissio ...

  8. Kmeans算法与KNN算法的区别

    最近研究数据挖掘的相关知识,总是搞混一些算法之间的关联,俗话说好记性不如烂笔头,还是记下了以备不时之需. 首先明确一点KNN与Kmeans的算法的区别: 1.KNN算法是分类算法,分类算法肯定是需要有 ...

  9. vi 操作技巧

    输入模式的操作Home光标到行首End 光标到行尾Page Up和Page Down上下翻页Delect删除光标位置的字符 删除操作(命令模式使用)x删除光标处的单个字符dd删除光标所在行dw删除当前 ...

  10. Chapter 2 Open Book——11

    "Hey, Dad, welcome home." hey爸爸,欢迎回家. "Thanks." He hung up his gun belt and step ...