Arbeitsblätter und Lösungen Hr. Kimmig

public class Methoden { public static void main(String[] args) { int[] xyz = zufall(100000,30); long beginn = System.currentTimeMillis(); int[] sortiert = inPlace(xyz); long end = System.currentTimeMillis(); long dauer = end-beginn; System.out.println(dauer+"ms"); } // Methode, um Array anzulegen und mit zufälligen Zahlen zu füllen public static int[] zufall(int laenge, int max) { int[] a = new int[laenge]; for(int i=0;i<laenge;i++) { a[i] = (int)(Math.random()*max); } return a; } // Methode, um Array formatiert auszugeben public static void ausgabe(int[] array) { for(int i=0;i<array.length;i++) { System.out.print(array[i]+", "); } System.out.println(); } // Methode, um Array sortiert auszugeben public static void sortierteAusgabe(int[] array) { for(int i=0 ; i<array.length ; i++) { int m = min(array, 0); System.out.print(array[m]+", "); array[m] = Integer.MAX_VALUE; } System.out.println(); } // Out-of-Place-Sortierung SelectionSort public static int[] sortiere(int[] array) { int[] sortiert = new int[array.length]; for(int i=0 ; i<array.length ; i++) { int m = min(array, 0); sortiert[i] = array[m]; array[m] = Integer.MAX_VALUE; } return sortiert; } // Minimumsuche public static int min(int[] array, int start) { int m = start; for(int i=start ; i<array.length ; i++) { if(array[m]>array[i]) { m = i; } } return m; } // In-Place-Sortierung SelectionSort public static int[] inPlace(int[] array) { for(int i=0 ; i<array.length ; i++) { int m = min(array, i); // Vertausche zwei Zahlen int tmp = array[i]; array[i] = array[m]; array[m] = tmp; } return array; } }