home *** CD-ROM | disk | FTP | other *** search
/ Computer Life: Multimedia Mega Pac / Multimedia_Mega-Pac_Computer_Life_1996.iso / hotjava / demo / classes / sortalgo.jav < prev    next >
Text File  |  1995-05-19  |  2KB  |  97 lines

  1. /*
  2.  * @(#)SortAlgorithm.java    1.6 95/01/31 James Gosling
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. /**
  21.  * A generic sort demonstration algorithm
  22.  * SortAlgorithm.java, Thu Oct 27 10:32:35 1994
  23.  *
  24.  * @author James Gosling
  25.  * @version     1.6, 31 Jan 1995
  26.  */
  27.  
  28. class SortAlgorithm {
  29.     /**
  30.      * The sort item.
  31.      */
  32.     private SortItem parent;
  33.  
  34.     /**
  35.      * When true stop sorting.
  36.      */
  37.     protected boolean stopRequested = false;
  38.  
  39.     /**
  40.      * Set the parent.
  41.      */
  42.     public void setParent(SortItem p) {
  43.     parent = p;
  44.     }
  45.  
  46.     /**
  47.      * Pause for a while.
  48.      */
  49.     protected void pause() {
  50.     if (stopRequested) {
  51.         throw this;
  52.     }
  53.     parent.pause(parent.h1, parent.h2);
  54.     }
  55.  
  56.     /**
  57.      * Pause for a while and mark item 1.
  58.      */
  59.     protected void pause(int H1) {
  60.     if (stopRequested) {
  61.         throw this;
  62.     }
  63.     parent.pause(H1, parent.h2);
  64.     }
  65.  
  66.     /**
  67.      * Pause for a while and mark item 1 & 2.
  68.      */
  69.     protected void pause(int H1, int H2) {
  70.     if (stopRequested) {
  71.         throw this;
  72.     }
  73.     parent.pause(H1, H2);
  74.     }
  75.  
  76.     /**
  77.      * Stop sorting.
  78.      */
  79.     public void stop() {
  80.     stopRequested = true;
  81.     }
  82.  
  83.     /**
  84.      * Initialize
  85.      */
  86.     public void init() {
  87.     stopRequested = false;
  88.     }
  89.  
  90.     /**
  91.      * This method will be called to
  92.      * sort an array of integers.
  93.      */
  94.     void sort(int a[]) {
  95.     }
  96. }
  97.