队列
1 public class GenericQueue<E> { 2 private java.util.LinkedList<E> list 3 = new java.util.LinkedList<E>(); 4 5 public void enqueue(E e){ 6 list.addLast(e); 7 } 8 9 public E dequeue(){ 10 return list.removeFirst(); 11 } 12 13 public int getSize(){ 14 return list.size(); 15 } 16 17 public String toString(){ 18 return "Queue:" + list.toString(); 19 } 20 }
用数组实现队列:
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] + " "); } }

浙公网安备 33010602011771号