/*
 * "Grundkurs Programmieren in Java - Band 1 (4. Auflage, 2007)"
 * 2001-2007, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe 14.2 (Version 4.0)
 * (c) 2001-2007 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 * Methoden zum Spiegeln von int-Feldern -
 * einmal mit und einmal ohne Seiten-Effekte
 *
 */

public class RateMal {

  public static void ausgabe(Object... eingabe) {
    System.out.print("Ausgabe: ");
    for(Object o : eingabe) 
      System.out.print(o + " ");
    System.out.println();
  }

  public static <T extends Comparable> T[] tueWas(T... eingabe) {
    eingabe = eingabe.clone();
    for(int i = eingabe.length - 1; i > 0; i--)
      for(int j = 0; j < i; j++)
        if (eingabe[j].compareTo(eingabe[j+1]) > 0) {
          T tmp = eingabe[j];
          eingabe[j] = eingabe[j+1];
          eingabe[j+1] = tmp;
        }
    return eingabe;
  }

  public static void main(String[] args) {
    ausgabe(tueWas(Boolean.TRUE,Boolean.FALSE));
    ausgabe(tueWas("welt","schoene","du","hallo"));
  }
}
