Heap Examples

Heap Examples

Heap 1 - Making a heap, pushing and popping elements, sorting a heap.


Heap1 Example Code

// Copyright(c) 1996 ObjectSpace, Inc. import jgl.*; /** * Making a heap, pushing and popping elements, sorting a heap. *

* @see jgl.Heap * @version 1.1 * @author ObjectSpace, Inc. */ public class Heap1 { public static void main( String[] args ) { Deque deque = new Deque(); deque.add( "bat" ); deque.add( "ape" ); deque.add( "fox" ); deque.add( "cat" ); BinaryPredicate comparator = new LessString(); Heap.makeHeap( deque.begin(), deque.end(), comparator ); deque.add( "dog" ); Heap.pushHeap( deque.begin(), deque.end(), comparator ); deque.add( "emu" ); Heap.pushHeap( deque.begin(), deque.end(), comparator ); while( !deque.isEmpty() ) { System.out.println( deque.front() ); Heap.popHeap( deque.begin(), deque.end(), comparator ); deque.popBack(); } Array vector = new Array(); vector.add( "bat" ); vector.add( "ape" ); vector.add( "fox" ); vector.add( "cat" ); vector.add( "dog" ); vector.add( "emu" ); System.out.println( "unsorted vector = " + vector ); Heap.makeHeap( vector.begin(), vector.end(), comparator ); Heap.sortHeap( vector.begin(), vector.end(), comparator ); System.out.println( "sorted vector = " + vector ); } }

Heap1 Example Output

fox emu dog cat bat ape unsorted vector = Array( bat, ape, fox, cat, dog, emu ) sorted vector = Array( ape, bat, cat, dog, emu, fox )