kulturfenster
Grünschnabel
Guten Abend,
Ich habe eine binäre Suche geschrieben, die jedoch den gesuchten Wert im Array nicht finden will. Könnte jemand kurz einen Blick drauf werfen und mir n Tipp geben, was ich falsch gemacht habe?
Vielen Dank für Tipps!
Ich habe eine binäre Suche geschrieben, die jedoch den gesuchten Wert im Array nicht finden will. Könnte jemand kurz einen Blick drauf werfen und mir n Tipp geben, was ich falsch gemacht habe?
Code:
package kap19;
public class BinarySearch8 {
private int[] a;
public BinarySearch8(int[] a)
{
this.a = a;
}
public int search(int k, int from, int to)
{
if(from > to) return -1;
int mid = (from + to)/2;
if(a[mid] > k) return search(k, from, mid-1);
else if(a[mid] < k) return search(k,mid+1, to);
else return mid;
}
public static void main(String[] args)
{
int länge = 1000;
int[] a = new int[länge];
java.util.Random g = new java.util.Random();
for(int i = 0; i < länge; i++)
{
a[i] = g.nextInt(länge);
}
BinarySearch8 b = new BinarySearch8(a);
System.out.println(b.search(555, 0, a.length-1));
}
}
Vielen Dank für Tipps!