//=================================================
// File Name : Queue_demo
//------------------------------------------------------------------------------
// Author : Common //类名:Queue
//属性:
//方法:
class Queue{
private int maxSize; //队列的长度
private long[] queueArray; //创建队列的数组的引用
private int front; //创建队头的引用
private int rear; //创建队尾的引用
private int curNum; //创建当前元素的个数 public Queue(int s) { //构造函数
this.maxSize = s;
queueArray = new long[maxSize]; //创建对象
front = 0; //队头等于0
rear = -1; //队尾等于-1
curNum = 0; //当前的元素的个数是0
} public void insert(long j){
if(rear == maxSize-1){ //如果队尾是队列的最大值-1,则队尾等于-1
rear = -1;
}
queueArray[++rear] = j; //先自加为0,然后给队尾的元素赋值
curNum++; //当前的元素的个数加1
} public long remove(){
long temp = queueArray[front++]; //取得队头的元素,然后自加
if(front == maxSize){
front =0;
}
curNum--; //当前的元素的个数减1
return temp;
} public long peekFront(){
return queueArray[front];
} public boolean isEmpty(){
return (curNum==0);
} public boolean isFull(){
return (curNum==maxSize);
} public int Size(){ //返回当前队列元素的个数
return curNum;
} } //主类
//Function : Queue_demo
public class Queue_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
Queue queue_demo = new Queue(5);
queue_demo.insert(50);
queue_demo.insert(60);
queue_demo.insert(70);
queue_demo.insert(80);
queue_demo.remove();
queue_demo.insert(50); while( !queue_demo.isEmpty()){
long value = queue_demo.remove();
System.out.print(value+"、");
}
} }

Java数据结构——队列的更多相关文章

  1. java 数据结构 队列的实现

    java 数据结构队列的代码实现,可以简单的进行入队列和出队列的操作 /** * java数据结构之队列的实现 * 2016/4/27 **/ package cn.Link; import java ...

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

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

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

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

  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. PHP自学链接收藏

    PHP之道 laravist Sublime Text 3

  2. PHP之function_handling 函数

    function_handling 函数 function_handling 函数 需求: 编写一个函数,传入的参数个数不确定,请求出其和. 使用到 以下几个函数: 代码说明: 函数的参数可以是另外一 ...

  3. .VDI manual Technical Logistics - Volume 2: Industrial Trucks

    VDI manual Technical Logistics - Volume 2: Industrial Trucks Name Publication date: State VDI 2196 B ...

  4. java 附件上传时后台验证上传文件的合法性

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  5. ASP.NET MVC 4 异步加载控制器

    ASP.NET 4 Developer preview中的异步操纵器 在放弃了对.NET 3的支持之后, ASP.NET MVC 4 彻底拥抱了Task类库, 你不需求再蛋疼的给每个Action写两个 ...

  6. 「c++小学期」实验题目及代码

    面向对象编程的C++,和平时做题用的C++还是有差距的.实验的题目都是小题目,就都做一下吧.(没放代码的为要验收的 实验一 简单C++程序设计 1.  猜价格游戏 编写C++程序完成以下功能: (1) ...

  7. 卸载移动硬盘出现 device is busy

    umount /dev/sdb1 # device is busy fuser -m -v /dev/sdb1 # 查看 fuser -m -k /dev/sdb1 # 杀死进程

  8. High购电商系统开发注意点

    1.引入第三方框架AFnetworking时,记得在xcode项目添加安全属性(自认为). 2.异步加载数据时,如果用数组来装模型,记得对数组进行初始化.对控件的赋值一般在获取数据之后.如果用到Tab ...

  9. C++ 合成默认构造函数的真相

    对于C++默认构造函数,我曾经有两点误解: 类如果没有定义任何的构造函数,那么编译器(一定会!)将为类定义一个合成的默认构造函数. 合成默认构造函数会初始化类中所有的数据成员. 第一个误解来自于我学习 ...

  10. 策略设计模式与c语言中的函数指针

    在C语言中有一个非常重要的概念-函数指针,其最重要的功能是实现回调函数(指函数先在某处注册,而它将在稍后某个需要的时候被调用)在java语言中没有指针的概念,但是可以利用接口和指针实现类似的功能,具体 ...