home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / QuickSort.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-18  |  655 b   |  49 lines

  1. package com.sfs.vrml;
  2.  
  3. public class QuickSort {
  4.    protected boolean lessThan(Object var1, Object var2) {
  5.       return var1.hashCode() < var2.hashCode();
  6.    }
  7.  
  8.    public void sort(Object[] var1) {
  9.       this.sort(var1, 0, var1.length - 1);
  10.    }
  11.  
  12.    private void sort(Object[] var1, int var2, int var3) {
  13.       int var4 = var2;
  14.       int var5 = var3;
  15.       if (var3 > var2) {
  16.          Object var6 = var1[(var2 + var3) / 2];
  17.  
  18.          while(var4 <= var5) {
  19.             while(var4 < var3 && this.lessThan(var1[var4], var6)) {
  20.                ++var4;
  21.             }
  22.  
  23.             while(var2 < var5 && this.lessThan(var6, var1[var5])) {
  24.                --var5;
  25.             }
  26.  
  27.             if (var4 <= var5) {
  28.                this.swap(var1, var4++, var5--);
  29.             }
  30.          }
  31.  
  32.          if (var2 < var5) {
  33.             this.sort(var1, var2, var5);
  34.          }
  35.  
  36.          if (var4 < var3) {
  37.             this.sort(var1, var4, var3);
  38.          }
  39.       }
  40.  
  41.    }
  42.  
  43.    private void swap(Object[] var1, int var2, int var3) {
  44.       Object var4 = var1[var2];
  45.       var1[var2] = var1[var3];
  46.       var1[var3] = var4;
  47.    }
  48. }
  49.