/* Informatik II, SS 2001 Übungsblatt 6, Aufgabe 1 Musterlösung Sucht das Minimum in einer zyklisch sortierten Liste. */ public class SearchMin { // Gibt die Position des Minimums, beginnend bei 0, zurück. private static int findMin (int[] a, int l, int r) { if (l >= r) return r; int m = (l + r) / 2; if (a[m] < a[r]) // Minimum ist a[m] selbst oder in der linken Hälfte. return findMin(a, l, m); else // "Sprungstelle" mit Minimum ist in der rechten Hälfte. return findMin(a, m+1, r); } public static void main (String[] args) { int[] a = {9, 12, 17, 21, 29, 34, 1, 5}; System.out.print("Liste: "); for (int i=0; i < a.length; i++) System.out.print(a[i] + " "); System.out.println(); System.out.println("Das Minimum ist an Position: " + findMin(a, 0, a.length - 1)); } }