Hallo !
Ich hab folgende Hausaufgabe und verzweifel grad dadran:
das ist mein lösungsansatz:
Und ich weiß einfach nicht, warum das nicht klappt. Ich hab mir mal die
verschiedenen zustände von 'found' auf dem bildschirm aufgeben lassen ...
es funktioniert eingentlich richtig .. also wenn die gesuchte zahl im array ist,
dann ist 'found=true' .. aber danach wird es dann wieder mit 'false' überschrieben.
hoffe mir kann hier jemand helfen ..
danke
mfg
Fireblade
Ich hab folgende Hausaufgabe und verzweifel grad dadran:
Code:
/**********************************************************
* Rekursive Binaersuche
********************************************************/
boolean bisektion (long[] A, int i, int j, long elem) {
//------------ Hier die rekursive Binaersuche inplementieren
}
boolean bisektionrek (long[] A, long elem) {// Hilfsmethode
return bisektion (A, 0, A.length - 1, elem);
}
das ist mein lösungsansatz:
Code:
boolean bisektion (long[] A, int i, int j, long elem) {
boolean found=false;
int med=(i+j)/2;
if (A[med]==elem) {found=true;}
else if (i==j) {found =false;}
else if (A[med]<elem) {bisektion (A, med+1, j, elem);}
else {bisektion (A, i, med-1, elem);}
return found;
}
boolean bisektionrek (long[] A, long elem) {// Hilfsmethode
return bisektion (A, 0, A.length - 1, elem);
}
Und ich weiß einfach nicht, warum das nicht klappt. Ich hab mir mal die
verschiedenen zustände von 'found' auf dem bildschirm aufgeben lassen ...
es funktioniert eingentlich richtig .. also wenn die gesuchte zahl im array ist,
dann ist 'found=true' .. aber danach wird es dann wieder mit 'false' überschrieben.
hoffe mir kann hier jemand helfen ..
danke
mfg
Fireblade