home *** CD-ROM | disk | FTP | other *** search
/ ActiveX Programming Unleashed CD / AXU.iso / jgl_1_1 / jgl_1_1.exe / examples / Heap1.java < prev    next >
Encoding:
Java Source  |  1996-09-10  |  1.3 KB  |  49 lines

  1. // Copyright(c) 1996 ObjectSpace, Inc.
  2.  
  3. import jgl.*;
  4.  
  5. /**
  6.  * Making a heap, pushing and popping elements, sorting a heap.
  7.  * <p>
  8.  * @see jgl.Heap
  9.  * @version 1.1
  10.  * @author ObjectSpace, Inc.
  11.  */
  12.  
  13. public class Heap1
  14.   {
  15.   public static void main( String[] args )
  16.     {
  17.     Deque deque = new Deque();
  18.     deque.add( "bat" );
  19.     deque.add( "ape" );
  20.     deque.add( "fox" );
  21.     deque.add( "cat" );
  22.     BinaryPredicate comparator = new LessString();
  23.     Heap.makeHeap( deque.begin(), deque.end(), comparator );
  24.     deque.add( "dog" );
  25.     Heap.pushHeap( deque.begin(), deque.end(), comparator );
  26.     deque.add( "emu" );
  27.     Heap.pushHeap( deque.begin(), deque.end(), comparator );
  28.     while( !deque.isEmpty() )
  29.       {
  30.       System.out.println( deque.front() );
  31.       Heap.popHeap( deque.begin(), deque.end(), comparator );
  32.       deque.popBack();
  33.       }
  34.  
  35.     Array vector = new Array();
  36.     vector.add( "bat" );
  37.     vector.add( "ape" );
  38.     vector.add( "fox" );
  39.     vector.add( "cat" );
  40.     vector.add( "dog" );
  41.     vector.add( "emu" );
  42.     System.out.println( "unsorted vector = " + vector );
  43.     Heap.makeHeap( vector.begin(), vector.end(), comparator );
  44.     Heap.sortHeap( vector.begin(), vector.end(), comparator );
  45.     System.out.println( "sorted vector = " + vector );
  46.     }
  47.   }
  48.  
  49.