* @version JDSL 2.1.1
*/
public class HeapSort implements SortObject {
public void sort (Sequence s, Comparator c) {
PriorityQueue pq = new ArrayHeap(c,s.size()+1,false);
PositionIterator pi = s.positions();
while (pi.hasNext()) {
Object elt = pi.nextPosition().element();
pq.insert(elt,elt);
}
pi.reset();
while (!pq.isEmpty())
s.replaceElement(pi.nextPosition(),pq.removeMin());
}