java实现循环队列
来源:互联网 发布:wifi网络域名是什么 编辑:程序博客网 时间:2024/04/29 12:12
package ustc.zyy.ArrayList;public class ArrayQueue<E> { private E[] theArray; // 目前队列里数据的项目 private int currentSize; // 队列的头 private int front; // 队列的尾 private int back; private static final int DEFAULE_CAPACITY = 10; public ArrayQueue() { // 初始化数组 theArray = (E[]) new Object[DEFAULE_CAPACITY]; // 创建空数组 makeEmpty(); } public void makeEmpty() { // 要确保back初始化为front-1 currentSize = 0; front = 0; back = -1; } //下面这个私有的方法用来构建循环队列 //当x的值自增以后等于数组的长度 就将x的值设置为0 也就是回到数据的头部 private int increment(int x) { if (++x == theArray.length) x = 0; return x; } public boolean isEmpty() { return currentSize == 0; } public void enqueue(E e) { if (currentSize == theArray.length) doubleArray(); // 下面这个是实现循环队列的 back = increment(back); theArray[back] = e; currentSize++; } private void doubleArray() { E[] newArray; newArray = (E[]) new Object[theArray.length * 2]; for (int i = 0; i < currentSize; i++, front = increment(front)) newArray[i] = theArray[front]; theArray = newArray; front = 0; back = currentSize - 1; } public E dequeue() { if (isEmpty()) { System.err.println("错误啊"); } currentSize--; E returnvalue = theArray[front]; front = increment(front); return returnvalue; } public E getFront() { if (isEmpty()) { System.out.print("溢出了啊"); } return theArray[front]; }}
0 0
- 队列:循环队列Java实现
- Java实现循环队列
- java实现循环队列
- java实现循环队列
- 循环队列java实现
- java实现循环队列
- Java数组实现循环队列
- 数据结构:循环队列--Java实现
- 循环队列(java实现)
- 数组实现循环队列(Java)
- java循环数组实现队列
- 循环队列的java实现
- 数据结构循环队列Java实现
- Java 循环队列的实现
- Java循环队列简单实现
- Java 循环队列的实现
- java队列实现(顺序队列、链式队列、循环队列)
- java队列实现(顺序队列、链式队列、循环队列)
- MINA通信enCode实现
- UVa 10602 - Editor Nottoobad
- VB.Net之旅--.Net多语言运行库的基础
- zoom的学习
- Mysql 不同版本 说明
- java实现循环队列
- CSS基础语法
- 采用伙伴系统算法编写内存分配和回收模拟程序
- 也还没有能自我生长的能力
- 文件查找和内容过滤命令grep详解
- Linux IO技术体系(阻塞 非阻塞 同步 异步 多路IO复用select poll epoll 信号驱动 异步)
- 如何删除已安装的Windows服务
- 指针类型转换
- 消息推送及提醒功能构想