Teile Herrsche Rekursion
-
Hi
wir ham da n klienes Problem...chen -> Letzte Zeile
wär nett wenn jemand sich dem annehmen würde.bool f(int a[],int l, int r) { if (l >= r) { for(int i=0; i<=r;i++) cout << a[i] << ","; cout << "(" << l << "," << r << ")" << endl; return true; } else { int m = (l+r)/2; for(int i=0; i<=r;i++) cout << a[i] << ","; cout << "(" << l << "," << m << "," << r << ")" << endl; return f(a,l,m) && (a,m+1,r) && a[m] <= a[m+1]; //keine ahnung was diese zeile bewirkt } }
<edit>Bitte Code-Tags verwenden!</edit>
-
vielleicht hilft es, wenn du uns sagst, was die Funktion bewirken soll und was die Parameter bedeuten....
-
naja das is halt ein boolscher Ausdruck wo wahr oder falsch rauskommt, und der erste Teil ist ein rekursiver Aufruf der Funktion wie du schon selber festgestellt hast
-
habens selber ausgeknobelt....
trotzdem danke....!!p.s.
-
Überprüft diese Funktion ob ein Array sortiert ist? Wieso nicht einfach iterative vorgehen?
-
bezeichner sind deine Freunde, also behandel sie ordentlich. Sie mögens zum Beispiel sehr, wenn sie aus mehr als einem Buchstaben bestehen, dann fühlen sie sich pudelwohl
-
Sieht irgendwie nach einem verhunztem Quicksort aus. Nur das es nicht sortiert.
-
das soll wohl mal ein quicksort werden. enthält auch einige tippfehler. so fehlen die geschweiften kammern bei for und bei return fehlt das f vor (a,m+1,r). quasi ein quicksort, das noch im bau ist.
ich denke mal, der rückgabewert soll ein selbsttest sein, ob die funktion auch richtig sortiert: true==alles ok; false==falsch sortiert, sortierroutine enthält einen fehler.