Java用循环数组实现队列
来源:互联网 发布:mac分屏功能怎么用 编辑:程序博客网 时间:2024/05/22 04:35
需要实现的方法:
public interface My_queue<T> {void add(T t);T remove();int size();boolean isEmpty();T front();}
定义自己的数组队列:
public class My_arrayQueue<T> implements My_queue<T>{private T[] data;private int size;private int front;private int rear;public My_arrayQueue() {data = (T[])new Object[3];size = 0;front = 0;rear = 0;}@Overridepublic void add(T t) {if(isFull()){resize();front = 0;}rear = (front+size)%data.length;data[rear] = t;size++;}@Overridepublic T remove() {if(isEmpty()){throw new RuntimeException("queue is empty!");}T tempData = data[front];data[front] = null;front = (front+1)%data.length;size--;return tempData;}@Overridepublic int size() {return size;}@Overridepublic boolean isEmpty() {return size == 0;}@Overridepublic T front() {if(isEmpty()){throw new RuntimeException("queue is empty!");}return data[front];}public boolean isFull(){return size == data.length;}public void resize(){T[] tmp = (T[])new Object[data.length*2];System.arraycopy(data, 0, tmp, 0, data.length);data = tmp;tmp = null;}}
测试类:
public class arrayTest {public static void main(String[] args){My_arrayQueue<Integer> arr = new My_arrayQueue<>();arr.add(1);arr.add(2);arr.add(3);arr.add(4);arr.add(5);arr.add(6);System.out.println(arr.size()+" "+arr.isEmpty());while(!arr.isEmpty()){Integer temp = arr.remove();System.out.println(temp);}}}
0 0
- java实现 用数组实现循环队列
- Java用循环数组实现队列
- Java数组实现循环队列
- 数组实现循环队列(Java)
- java循环数组实现队列
- JAVA实现数组队列,循环数组队列,链式队列
- 用循环数组实现队列
- 用数组实现循环队列
- 用循环数组实现队列
- 用循环数组实现队列
- Java实现 数组实现循环队列
- Java数组实现循环队列、Java链表实现队列
- java使用数组实现循环队列
- java 利用数组实现循环队列
- Java循环队列(数组实现)
- 循环数组实现队列(java)。
- java队列的循环数组实现
- 数组实现循环队列
- 汇编语言复习练习题
- 欢迎使用CSDN-markdown编辑器
- 撤销表空间的切换+修改撤销记录保留的时间+查看参数的值+查询表空间信息
- 445端口简介及端口排除法关闭445端口
- MYSQL之HANDLER_READ_*详细讲解
- Java用循环数组实现队列
- HDUOJ #2020 绝对值排序+总结排序
- Android集成QQ登录
- Tensorflow学习笔记--cifar10 cnn分类器代码
- Linux设置变量
- 日志框架之LogBack
- 寻找旋转排序数组中的最小值
- [LeetCode]18.4Sum
- Ubuntu装双系统