韩国男女直接做视频网站,网站建设合同的内容与结构,蝶恋直播视频下载,用手机制作word文档的app本文实例讲述了Java数据结构之循环队列简单定义与用法。分享给大家供大家参考#xff0c;具体如下#xff1a;一、概述#xff1a;1、原理#xff1a;与普通队列的区别在于循环队列添加数据时#xff0c;如果其有效数据end maxSize - 1(最大空间)的话#xff0c;end指针…本文实例讲述了Java数据结构之循环队列简单定义与用法。分享给大家供大家参考具体如下一、概述1、原理与普通队列的区别在于循环队列添加数据时如果其有效数据end maxSize - 1(最大空间)的话end指针又移动到-1的位置删除数据时如果head maxSize时 head指针移动到0的位置2、示例图二、实现代码package com.java.queue;/*** 描述 对列* 项目名称 Java_DataStruct* 包名 com.java.stack* 类名 Queue* author chenlin* version 1.0* SVN $Rev$*/public class CycleQueue {private long[] arr;private int maxSize;// 最大空间private int len;// 有效长度private int head;// 队头private int end;// 队尾public CycleQueue(int size) {this.maxSize size;this.arr new long[maxSize];this.len 0;this.head 0;this.end -1;}/*** 从队尾插入数据** param value*/public void insert(long value) {//如果满了,为什么是maxSize - 1 ,因为从-1开始if (end maxSize - 1) {end -1;}arr[end] value;len;}/*** 从队头移除数据*/public long remove() {long result arr[head];if (head maxSize) {head 0;}len--;return result;}/*** 判断是否为空** return*/public boolean isEmpty() {return (len 0);}/*** 判断是否满了** return*/public boolean isFull() {return (len maxSize);}/*** 获得队列的有效长度** return*/public int size() {return len;}public static void main(String[] args) {CycleQueue queue new CycleQueue(50);queue.insert(22);queue.insert(33);queue.insert(44);queue.insert(534);queue.insert(21);queue.insert(55);System.out.println(脚本之家测试结果);while (!queue.isEmpty()) {System.out.print(queue.remove() );}System.out.println();queue.insert(33);queue.insert(13);queue.insert(23);while (!queue.isEmpty()) {System.out.print(queue.remove() );}}}运行结果希望本文所述对大家java程序设计有所帮助。