您的位置:首页 > 编程语言 > Java开发

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

2013-05-23 15:13 489 查看
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]);
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: