public class SatunnaisJarj {

   private static long satunnaisJarjesta(int[] taulu) {
     int i;
     long kertoja = 0;
     while (true) {
       for (i=0; i < taulu.length-1; ++i)
         if (taulu[i] > taulu[i+1])
           break;        // ei ollut järjestyksessä
       if (i==taulu.length-1) 
         return kertoja; // valmis!

       int eka  = (int)(Math.random()*taulu.length);
       int toka = (int)(Math.random()*taulu.length);
       int apu = taulu[eka];
       taulu[eka] = taulu[toka];
       taulu[toka] = apu;
       ++kertoja;
     }
   }

  public static void main(String[] args) { // testipääohjelma

    int[] a = {40, 20, 50, 10, 30};

    for (int i=0; i<a.length; ++i)
       System.out.print(a[i]+" ");
    System.out.println();

    System.out.println("Vaihdettiin "+satunnaisJarjesta(a)+ " kertaa");

    for (int i=0; i<a.length; ++i)
       System.out.print(a[i]+" ");
    System.out.println();


    int[] b = new int[10];
    for (int i=0; i<b.length; ++i)
      b[i] = (int)(300*Math.random()); // vrt. harj. 15

    for (int i=0; i<b.length; ++i)
       System.out.print(b[i]+" ");
    System.out.println();

    System.out.println("Vaihdettiin "+satunnaisJarjesta(b)+ " kertaa");

    for (int i=0; i<b.length; ++i)
       System.out.print(b[i]+" ");
    System.out.println();

  }
}
