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. pthread_create线程创建的过程剖析(转)

    概述 在Linux环境下,pthread库提供的pthread_create()API函数,用于创建一个线程.线程创建失败时,它可能会返回ENOMEM或EAGAIN.这篇文章主要讨论线程创建过程中碰到 ...

  2. Kettle jdbc连接hive出现问题

    jdbc连接时报如下错误: Error connecting to database [k] : org.pentaho.di.core.exception.KettleDatabaseExcepti ...

  3. contenteditable模仿textarea文本框

    contenteditable 属性是 HTML5 中的新属性. 例子:<p contenteditable="true" style=" border:solid ...

  4. Vultr VPS测试IP $5/月KVM-512MB/15G SSD/1T

    vultr主要卖点是:SSD硬盘.超低价格.全球13个机房.10Gb服务器带宽.3GHz CPU.性能优异.vultr vps详细评测可参考这篇文章. 以下是vutlr vps官方提供的测试IP地址: ...

  5. PDO对象

    <?php //造DSN:驱动名:dbname=数据库名;host=服务器地址 $dsn = "mysql:dbname=mydb;host=localhost"; //造P ...

  6. sysadmin_basement

    基本部分 1. 系统硬件 1.1. 主板 获取序列号 $ sudo dmidecode -t system |grep -i Serial Serial Number: CNU9032T3N 获取厂商 ...

  7. 3. JavaScript 数据类型

    1. 主要类型 字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未定义(Undefined). JavaScript 拥 ...

  8. python 九九乘法表!小练习

    # 1*1 = 1 # 1*2 = 2 2*2 = 4 # 1*3 = 3 2*3 = 6 3*3 = 9 i = 1 j = 1 for j in range(1,10): for i in ran ...

  9. 分析函数 over用法 之row_number() runk_number

    分析函数用于计算基于组的某种聚合值,每个组返回多个行,而聚合函数每个组只返回一个行 表: create table TB_SCORE ( id NUMBER(10), class VARCHAR2(1 ...

  10. Hunters

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