您的位置:首页 > 其它

队列

2013-11-12 14:13 183 查看
public class GenericQueue<E> {
private java.util.LinkedList<E> list
= new java.util.LinkedList<E>();

public void enqueue(E e){
list.addLast(e);
}

public E dequeue(){
return list.removeFirst();
}

public int getSize(){
return list.size();
}

public String toString(){
return "Queue:" + list.toString();
}
}


用数组实现队列:

public class ArrayQueue {
private int first, last, size;
private Object[] storage;
public ArrayQueue(){
}
public ArrayQueue(int n){
size = n;
storage = new Object[size];
first = last = -1;
}
public boolean isFull(){
return first == 0 && last == size - 1 || first == last + 1;
}
public boolean isEmpty(){
return first  == -1;
}
public void enqueue(Object e1){
if(last == size - 1 || last == -1)
{
storage[0] = e1;
last = 0;
if(first == -1)
first = 0;
}
else {
storage[++last] = e1;
}
}
public Object dequeue(){
Object tmp = storage[first];
if(first == last)
last = first - 1;
else if(first == size - 1)
first = 0;
else first++;
return tmp;
}
public void printAll(){
for(int i = 0; i < size;i++)
System.out.print(storage[i] + " ");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: