// IE Test: javac QuickSort.java; appletviewer QuickSort.html
import java.awt.*;
public class QuickSort extends Animate
  {	
    int partition(double a[], int l, int r)
      { int i = l-1, j = r; 
        for (;;)
          { 
            while (less(a, ++i, r)) ;
            while (less(a, r, --j)) if (j == l) break;
            if (i >= j) break;
            exch(a, i, j);
          }
        exch(a, i, r);
        return i;
      }
    void sort(double[] a, int l, int r)
      { 
        if (r <= l) return;
        int i = partition(a, l, r);
        sort(a, l, i-1);
        sort(a, i+1, r);
      }
  }

