Lösung5-3
Aufgabe5_3Loesung.java
—
Java source code,
1 KB (1971 bytes)
Dateiinhalt
public class Aufgabe5_3Loesung { // Kopieren durch Einfügen, aka Insertion-Sort. public static void main(String[] args) { int[] liste1 = new int[] { 125, 3, 6, 5, 32, 1, 69, 55, 99, 12 }; System.out.print("Unsortiertes Array: "); printIntArray(liste1); int[] liste2 = sort(liste1); System.out.print("Sortiertes Array: "); printIntArray(liste2); } /** * Gibt eine sortierte Kopie des Arrays "numbers" zurueck. * * @param numbers * ein beliebiges Array von Zahlen * @return ein sortiertes Array, das die gleichen Zahlen wie das Array * "numbers" enthaelt * */ public static int[] sort(int[] numbers) { int[] result = new int[] {}; for (int i = 0; i < numbers.length; i++) { result = insert(numbers[i], result); } return result; } /** * Fuegt "element" in ein Kopie eines bereits sortierten Arrays "numbers" * ein, so dass das Ergebnis wieder ein sortiertes Array ist. * * @param element * eine Zahl * @param numbers * ein sortiertes Array * @return ein sortierties Array der Länge numbers.length + 1, welches die * Zahl "element" sowie alle Zahlen aus dem Array "numbers" enthält. */ public static int[] insert(int element, int[] numbers) { int[] result; if (numbers.length < 1) { result = new int[] { element }; } else { result = new int[numbers.length + 1]; int i = 0; while (i < numbers.length && numbers[i] <= element) { result[i] = numbers[i]; i++; } result[i] = element; while (i < numbers.length) { result[i + 1] = numbers[i]; i++; } } return result; } /** * Eine Methode zur Ausgabe eines Arrays auf der Konsole. */ public static void printIntArray(int[] numbers) { System.out.print("{"); if (numbers.length > 0) { System.out.print(numbers[0]); } for (int i = 1; i < numbers.length; i++) { System.out.print(", " + numbers[i]); } System.out.println("}"); } }
Artikelaktionen