/*** TODO*/
package com.xeezee.collection;/*** 循环队列* * @author luoqinglong* @date 2012-7-31*/
public class Queue {private int itemCount;// 队中元素个数private int front = 0;// 队头private int rear = -1;// 队尾private final long[] queueArray;private int maxSize = 0;public Queue(int caption) {this.maxSize = caption;this.itemCount = 0;this.front = 0;this.rear = -1;this.queueArray = new long[caption];}public void insert(long j) {if (this.rear == this.maxSize - 1) {this.rear = -1;}this.queueArray[++this.rear] = j;this.itemCount++;}public long remove() {long temp = this.queueArray[this.front++];if (this.front == this.maxSize) {this.front = 0;}this.itemCount--;return temp;}public long peekFront() {return this.queueArray[this.front];}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubQueue queue = new Queue(5);queue.insert(111);queue.insert(222);queue.insert(333);queue.insert(444);queue.insert(555);System.out.println(queue.peekFront());queue.remove();queue.remove();queue.remove();queue.insert(6666);System.out.println(queue.peekFront());}}

循环队列(java)相关推荐

  1. 2021 - 9 -下旬 数据结构- 线性表 -双端循环队列 - java实现

    //循环双端队列:Circle Double Ended Queue //本质是对动态数组的优化 //队头队尾都可以添加或删除元素 //相比于普通循环队列需要注意的点是在队头插入元素时的对front前 ...

  2. 2021 - 9 下旬 数据结构-线性表-循环队列-java实现代码

    //循环队列,本质就是用动态数组实现的,且出队入队时间复杂度均O(1)的队列 //相比普通队列,增设一个front指针,代表队头,代表下一个出队的元素 //循环队列的重点在于队头队尾的元素的下标的计算 ...

  3. 【数据结构与算法】循环队列和链队列的比较

    前言 本文原本是一篇随感+笔记,被翻出来后就整理发了博客. 不曾想能上搜索头条,既如此,决定更新一下,加上必要的阐释,避免影响有需求的读者. (我这么理解大家,如果有需要的话,是不是可以考虑点个赞或者 ...

  4. 循环队列 (顺序存储)

    数组 和 链表是最基本的数据结构,栈.队列.树.图等复杂数据结构都是基于数组或链表方式存储 队列(Queue)特征: 循环队列的顺序存储是基于数组来实现的 队列是一种操作受限的线性表.队列只能在表的一 ...

  5. 基于数组实现循环队列(基于Java实现)

    title: 基于数组实现循环队列(基于Java实现) tags: 数组 循环队列 基于数组实现循环队列的方法原理: 我们在用数组实现队列的时候,发现当tail = n时,就会有数据搬移的操作,这样一 ...

  6. Java数组实现循环队列的两种方法

    用java实现循环队列的方法: 1.增加一个属性size用来记录目前的元素个数.目的是当head=rear的时候,通过size=0还是size=数组长度,来区分队列为空,或者队列已满. 2.数组中只存 ...

  7. Java 循环队列原理与用法详解

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:iphone 也是办公神器,用了就知道了,不行送你一个试试个人原创+1博客:点击前往,查看更多 链接:https ...

  8. 循环队列真的没那么难,就那么几个注意点,附Java代码及运行效果

    1. 队列 队列是一种常见的线性数据结构,满足先进先出(First In First Out),简称为FIFO,第一次看到FIFO还以为是单片机的输出输出什么的,见笑了.数据结构不太了解的话可以看看我 ...

  9. java循环的概念_Java数据结构之循环队列简单定义与用法示例

    本文实例讲述了Java数据结构之循环队列简单定义与用法.分享给大家供大家参考,具体如下: 一.概述: 1.原理: 与普通队列的区别在于循环队列添加数据时,如果其有效数据end == maxSize - ...

最新文章

  1. Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
  2. 解决QT无法调试问题-----the cdb process terminated
  3. python【力扣LeetCode算法题库】219 -存在重复元素 II
  4. 阿里云上测试服务器的搭建
  5. 2 Effect Hook
  6. [C++11]独占的智能指针unique_ptr的初始化和使用
  7. 纯CSS3美化单选按钮radio
  8. winform 分页控件分享(二)
  9. 栈——验证栈序列(洛谷 P4387)
  10. Java基础-序列化和反序列化
  11. BestCoder Round #75
  12. 论文计算机辅助辅助教学应用,计算机辅助教学应用论文.doc
  13. Altium Designer四层板起步
  14. 面对面的办公室【冯·诺伊曼与艾伦•图灵】——纪念艾伦•图灵百年诞辰 1912.6.23-2012.6.23...
  15. 计算机硬件故障解决方法,计算机硬件故障分析与解决方法
  16. JVM 为什么使用元空间替换了永久代?
  17. java栅栏_Java多线程 5.栅栏
  18. C语言atan2()函数:求y/x的反正切值
  19. Java岗大厂面试百日冲刺【Day46】— Linux2 (日积月累,每日三题)
  20. 开源资产扫描系统-ARL资产灯塔系统

热门文章

  1. linux那个系统支持开发,求问如何确定centos支持哪个版本的gcc
  2. eclipse调试第一个java程序
  3. 这几款 JVM 故障诊断处理工具,你还不会?
  4. 挑战安卓会死?华为鸿蒙正为国产操作系统杀出一条路 | 涛滔不绝
  5. 别再瞎学 Python 了!
  6. 12 岁赚钱买电脑,19 岁创立公司,戴尔传奇
  7. JavaScript 简史 1
  8. 简直不要太硬了!一文带你彻底理解文件系统 | 原力计划
  9. 别等找工作时才明白:程序员只会敲代码是不行的!不看后悔!
  10. 终于找到原因!大厂面试被拒,是你不会数据结构