// RandomArray: create random array for sorting
public class RandomArrayGeneric {
   private int size;
   private Comparable[] a; // holds numbers to sort
   //private Rational rat;

   public RandomArrayGeneric(int s) {
      size = s;
      a = new Comparable[size];
      //rat = new Rational();
      generateArray();
   }

   private void generateArray() {
      int u = (int)(3*Math.random());
      if (u == 0)
         for (int i = 0; i < a.length; i++) { // generate numbers to sort
            double r = Math.random();
            a[i] = new Double(r);
         }
      else if (u == 1)
         for (int i = 0; i < a.length; i++) { // generate numbers to sort
            int r = (int)(100000*Math.random());
            a[i] = new Integer(r);
         }
      else
         for (int i = 0; i < a.length; i++) { // generate numbers to sort
            int r = (int)(10000*Math.random() + 1);
            int s = (int)(10000*Math.random() + 1);
            a[i] = new Rational(r, s);
         }
   }

   public Comparable[] getArray() {
      return a;
   }

   public void printStart() {
      int i = 0;
      int limit = 10;
      while (i < limit && i < size)
         System.out.println(a[i++]);
   }
}

