AuD
Lecture 'Algorithmen und Datenstrukturen' (code examples)
AbstractPriorityQueue.java
Go to the documentation of this file.
1package aud.adt;
2
3import java.util.NoSuchElementException;
4import java.util.Comparator;
5
10public abstract class AbstractPriorityQueue<T> {
11
12 protected Comparator<T> cmp_ = null;
13
15 protected AbstractPriorityQueue(java.util.Comparator<T> cmp) {
16 this();
17 cmp_=cmp;
18 }
20 protected AbstractPriorityQueue() {}
21
25 @SuppressWarnings("unchecked")
26 protected boolean less(T a,T b) {
27 return (cmp_!=null) ?
28 (cmp_.compare(a,b)<0) : (((Comparable<T>) a).compareTo(b)<0);
29 }
30
32 public abstract boolean is_empty();
33
39 public abstract T front();
40
46 public abstract T pop();
47
51 public abstract void push(T x);
52}
Interface for an ADT priority queue.
abstract void push(T x)
Push x into PQ.
abstract T pop()
Pop minimal element from PQ.
AbstractPriorityQueue(java.util.Comparator< T > cmp)
create empty PQ and use cmp_ for comparison of priorities
boolean less(T a, T b)
test for a<b, uses Comparator if one was provided or Comparable else.
abstract T front()
Get minimal element.
abstract boolean is_empty()
Is PQ empty?