Für den Eingang binarySearch (2, A, 9), wobei A = {2,6,7,7,11,15,25,37,45}, gibt das Programm die Ausgabe " Nicht vorhanden ", wenn es" Geschenk "geben sollte. Was mache ich falsch?Binäre Suche mit falschem Ausgang
Hier ist mein Code:
String binarySearch(int x, int[] A, int n)
{
if(n==0)
return ("Not present");
else
{
int mid = n/2;
if(x==A[mid])
return ("Present");
else if (x<A[mid])
binarySearch(x, Arrays.copyOfRange(A,0,mid),mid);
else
binarySearch(x, Arrays.copyOfRange(A,mid,n),n-mid);
return ("Not present");
}
}
Weil Ihre letzte Zeile zurückgibt 'Nicht zurück egal present' was rekursive Aufrufe zurückzukehren. – tkausl
Verwenden Sie geschweifte Klammern und Sie werden keine Fehler wie diese haben. – eldo
Nur realisiert. Scheint jetzt so eine dumme Frage. Vielen Dank! – kudesiaji