nUso de
uma Priority Queue para ordenar uma collection de
elementos
n static <E> List<E>
heapSort(Collection<E> c) {
n Queue<E> queue =
new PriorityQueue<E>(c);
n List<E> result = new
ArrayList<E>();
n while ( !queue.isEmpty() )
n result.add(queue.remove());
n return result;
n }