Java实现队列二:通过数组方式实现

来源:互联网 发布:最短路径优先算法 编辑:程序博客网 时间:2024/05/19 04:56
public class Queue2 {private int front = 0;  //队首下标private int rear = 0;   //队尾下标private Object[] data; //对象数组private int size = 0;private int capacity = 10;public Queue2(){data = new Object[capacity];}public Queue2(int capacity){this.capacity = capacity;data = new Object[capacity];}public void enQueue(Object o){if(capacity == size){capacity *= 2;Object[] newData = new Object[capacity];for (int i = 0; i < data.length; i++) {newData[i] = data[i];}data = newData;}data[rear] = o;rear++;size++;}public Object deQueue(){if(front==rear){return null;}else{Object returnObject = data[front];Object[] result = new Object[capacity];for (int i = 1; i < data.length; i++) {result[i-1] = data[i];}data = result;rear--;return returnObject;}}public boolean empty(){if(front == rear){return true;}else{return false;}}public static void main(String[] args) {Queue2 queue2 = new Queue2(3);queue2.enQueue("1");queue2.enQueue("2");queue2.enQueue("3");System.out.println(queue2.deQueue());for (int i = 0; i < queue2.data.length; i++) {System.out.println(queue2.data[i]);}}}

原创粉丝点击