home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / jbuilder / jsamples.z / Heap1.java < prev    next >
Text File  |  1997-07-30  |  1KB  |  48 lines

  1. // Copyright(c) 1996,1997 ObjectSpace, Inc.
  2.  
  3. import COM.objectspace.jgl.*;
  4.  
  5. /**
  6.  * Making a heap, pushing and popping elements, sorting a heap.
  7.  *
  8.  * @see COM.objectspace.jgl.Heap
  9.  * @version 2.0.2
  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.