home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / Extras / OSpace / jgl.exe / jgl_2_0 / COM / objectspace / jgl / Shuffling.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-12  |  1.4 KB  |  32 lines

  1. package COM.objectspace.jgl;
  2.  
  3. import java.util.Random;
  4.  
  5. public final class Shuffling {
  6.    static Random rand = new Random();
  7.  
  8.    private Shuffling() {
  9.    }
  10.  
  11.    public static void randomShuffle(BidirectionalIterator var0, BidirectionalIterator var1) {
  12.       if (!(var0.getContainer() instanceof Sequence)) {
  13.          throw new IllegalArgumentException("iterator containers must be a Sequence");
  14.       } else if (!var0.equals(var1)) {
  15.          BidirectionalIterator var2 = (BidirectionalIterator)var0.clone();
  16.          var2.advance();
  17.  
  18.          for(int var3 = 2; !var2.equals(var1); ++var3) {
  19.             BidirectionalIterator var4 = (BidirectionalIterator)var0.clone();
  20.             var4.advance(Math.abs(rand.nextInt()) % var3);
  21.             Swapping.iterSwap(var2, var4);
  22.             var2.advance();
  23.          }
  24.  
  25.       }
  26.    }
  27.  
  28.    public static void randomShuffle(Container var0) {
  29.       randomShuffle((BidirectionalIterator)var0.start(), (BidirectionalIterator)var0.finish());
  30.    }
  31. }
  32.