Ich versuche herauszufinden, wie Rekursion in Programmen zu verwenden ist. Ich verstehe, wie Rekursion in klassischen Beispielen wie "faktoriell" funktioniert, bin aber nicht sicher, wie ich es selbst anwenden soll ...Rekursion verstehen (Anwendung auf Bubble Sort)
Ich beginne mit der Umwandlung eines iterativen Blasensortiercodes in einen rekursiven Code ... ich habe über das Netz für das gleiche gesucht .... aber ich bin nicht in der Lage eine überzeugende Lösung/Erklärung zu finden ..
Beispiel iterativer Code für Blasensortierung heißt:
arr [n] -> Array mit Elemente (1..n), die zu sortieren sind
for(i:1 to n) for(j:1 to n-1) if(arr[j+1]>arr[j]) swap(arr[j+1],arr[j]);
Wäre hilfreich, wenn jemand einen Hinweis geben könnte, wie man vorgeht ...
Können Sie erklären, warum Sie machen wollen Blasensortierung rekursiv? Scheint nicht wie eine gute Idee ... –
IMHO Rekursion ist wirklich nicht nützlich für Blasensortieren (um seine Lesbarkeit oder Leistung zu erhöhen). Im Grunde genommen würden Sie nur das erste 'for' in eine Rekursion umwandeln. 'RecBSort (arr, i) {...; RecBSort (arr, i ++)} '. Was ist ziemlich nutzlos. –
ich möchte nur versuchen, "irgendeinen" bekannten iterations-basierten Code in einen äquivalenten rekursiven Code zu konvertieren, um die Rekursion besser zu verstehen ... bubble sort kam mir zuerst als klassisches Beispiel für iterationsbasierten Code in den Sinn ... kein anderes spezifischer Grund für die Wahl Blase-sort ... – goalseeker29