package aima.core.util.datastructure;
import java.util.Collection;
import java.util.Comparator;
import java.util.SortedSet;
/**
* Artificial Intelligence A Modern Approach (3rd Edition): pg 80.<br>
* <br>
* The priority queue, which pops the element of the queue with the highest
* priority according to some ordering function.
*
* @author Ciaran O'Reilly
*/
public class PriorityQueue<E> extends java.util.PriorityQueue<E> implements
Queue<E> {
private static final long serialVersionUID = 1;
public PriorityQueue() {
super();
}
public PriorityQueue(Collection<? extends E> c) {
super(c);
}
public PriorityQueue(int initialCapacity) {
super(initialCapacity);
}
public PriorityQueue(int initialCapacity, Comparator<? super E> comparator) {
super(initialCapacity, comparator);
}
public PriorityQueue(PriorityQueue<? extends E> c) {
super(c);
}
public PriorityQueue(SortedSet<? extends E> c) {
super(c);
}
//
// START-Queue
public boolean isEmpty() {
return 0 == size();
}
public E pop() {
return poll();
}
public Queue<E> insert(E element) {
if (offer(element)) {
return this;
}
return null;
}
// END-Queue
//
}