队列操作:
public interface Queue<E> {
int getSize();
boolean isEmpty();
void enqueue(E e);
E dequeue();
E getFront();
}
public class ArrayQueue<E> implements Queue<E> {
private Array_E<E> array;
public ArrayQueue(int capacity){
array=new Array_E<>(capacity);
}
public ArrayQueue(){
array=new Array_E<>();
}
@Override
public int getSize(){
return array.getSize();
}
@Override
public boolean isEmpty(){
if(array.getSize()==0)
return true;
else
return false;
}
@Override
public void enqueue(E e){
array.addLast(e);
}
@Override
public E dequeue(){
return array.remove(0);
}
public E getFront(){
return array.getLast();
}
public String toString(){
StringBuilder res=new StringBuilder();
res.append("Queue::");
res.append("front [");
for(int i=0;i<array.getSize();i++) {
res.append(array.get(i));
if (i != array.getSize() - 1)
res.append(",");
}
res.append("] tail");
return res.toString();
}
public static void main(String[] args) {
ArrayQueue<Integer> queue=new ArrayQueue<>();
for(int i=0;i<10;i++){
queue.enqueue(i);
System.out.println(queue);
if(i%3==1){
queue.dequeue();
System.out.println(queue);
}
}
}
}