home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 October A / Pcwk10a98.iso / Inprise / TRIAL / JBUILDER / JSAMPLES.Z / Heap1.java < prev    next >
Text File  |  1998-05-08  |  1KB  |  49 lines

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