Die folgende Methode soll binäre Suche implementieren:
binsearch(x,i)
:
falls i in x[..] vorkommt,
dann x[p] = i, sonst p = - 1.
public static int binsearch (int [] x, int i) { int n = x.length; int low = 0; int high = n; while (low < high) { int mid = (low + high) / 2; if (i < x[mid]) { high = mid; } else if (i > x[mid]) { low = mid; } else { return mid; } } return -1; }
Aufgaben:
binsearch
enthält.
int [] x = { 3, 4, 6, 8, 9 }; int p = binsearch (x, 4); assertTrue (p == ???);