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  |  1.6 KB  |  76 lines

  1. package com.sfs.util;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Vector;
  5.  
  6. public class Quicksort {
  7.    // $FF: renamed from: v java.util.Vector
  8.    Vector field_0;
  9.    // $FF: renamed from: s com.sfs.util.Sortable
  10.    Sortable field_1;
  11.  
  12.    public Quicksort(Sortable var1) {
  13.       this.field_1 = var1;
  14.    }
  15.  
  16.    protected void _quicksort(int var1, int var2) {
  17.       if (var1 < var2) {
  18.          this.swap(var1, (var1 + var2) / 2);
  19.          int var4 = var1;
  20.  
  21.          for(int var3 = var1 + 1; var3 <= var2; ++var3) {
  22.             if (this.field_1.compare(this.field_0.elementAt(var3), this.field_0.elementAt(var1)) < 0) {
  23.                ++var4;
  24.                this.swap(var4, var3);
  25.             }
  26.          }
  27.  
  28.          this.swap(var1, var4);
  29.          this._quicksort(var1, var4 - 1);
  30.          this._quicksort(var4 + 1, var2);
  31.       }
  32.    }
  33.  
  34.    public void doQuicksort(Vector var1) {
  35.       this.field_0 = var1;
  36.       synchronized(var1){}
  37.  
  38.       try {
  39.          this._quicksort(0, var1.size() - 1);
  40.       } catch (Throwable var5) {
  41.          throw var5;
  42.       }
  43.  
  44.    }
  45.  
  46.    public static void main(String[] var0) {
  47.       Vector var1 = new Vector();
  48.       var1.addElement("Wsdfsdf");
  49.       var1.addElement("Esdf");
  50.       var1.addElement("Fsdfsdfsdfs");
  51.       var1.addElement("Vsdfd");
  52.       System.out.println("vorher:");
  53.       Enumeration var2 = var1.elements();
  54.  
  55.       while(var2.hasMoreElements()) {
  56.          System.out.println((String)var2.nextElement());
  57.       }
  58.  
  59.       Quicksort var3 = new Quicksort(new Length());
  60.       var3.doQuicksort(var1);
  61.       System.out.println("sortiert nach L├ñnge:");
  62.       var2 = var1.elements();
  63.  
  64.       while(var2.hasMoreElements()) {
  65.          System.out.println((String)var2.nextElement());
  66.       }
  67.  
  68.    }
  69.  
  70.    protected void swap(int var1, int var2) {
  71.       Object var3 = this.field_0.elementAt(var1);
  72.       this.field_0.setElementAt(this.field_0.elementAt(var2), var1);
  73.       this.field_0.setElementAt(var3, var2);
  74.    }
  75. }
  76.