Ich versuche rekursive binäre Suche in C++ zu implementieren. Allerdings kann mein Algorithmus die letzten beiden Elemente aus dem Testarray nicht finden. Ich weiß, dass mir etwas fehlt. Ich habe viel nach einer solchen Implementierung des binären Suchalgorithmus gesucht, aber ohne Erfolg. Kann mir jemand dabei helfen?Rekursive binäre Suche C++ ohne if-else-Anweisung
bool isMember (int x, int a[], int size){
if (size == 0) return false;
return a[size/2] == x ||
(a[size/2] < x && isMember (x,a+size/2,(size)/2)) ||
(a[size/2] > x && isMember (x,a,(size)/2));
}
Wie sagen Sie, wenn es ohne eine if-Anweisung Ihr mittleres Element ist? – MeetTitan
Was macht die 'member'-Funktion? –
@MeetTitan a [size/2] repräsentiert das mittlere Element in jedem rekursiven Aufruf. Meine Schuld meinte ich mit Member. – yanis