A magát rekurzív függvénynek nevező függvény rekurzív függvényként ismert. Ezt a technikát rekurziónak nevezik.
hogyan működik a rekurzió?
void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}
a rekurzió addig folytatódik, amíg valamilyen feltétel teljesül, hogy megakadályozza.
a végtelen rekurzió megakadályozása érdekében, ha…else utasítás (vagy hasonló megközelítés) akkor használható, ha az egyik ág rekurzív hívást kezdeményez, a másik nem.,
példa: a természetes számok összege a rekurzió használatával
kimenet
Enter a positive integer:3sum = 6
kezdetben a sum()
függvényt a main()
függvény argumentumként átadott számmal.
tegyük fel, hogy a sum()
n értéke kezdetben 3. A következő függvényhívás során az 2 átkerül a sum()
függvényre. Ez a folyamat addig folytatódik, amíg n egyenlő 0-val.,
Ha n egyenlő 0-val, akkor a if
feltétel sikertelen, és a else
rész az egész számok összegével visszatér a main()
függvényhez.
a rekurzió előnyei és hátrányai
a rekurzió elegánssá teszi a programot. Ha azonban a teljesítmény létfontosságú, használjon hurkokat, mivel a rekurzió általában sokkal lassabb.
Ez azt jelenti, hogy a rekurzió fontos fogalom. Gyakran használják adatstruktúrában és algoritmusokban., Például gyakori a rekurzió használata olyan problémákban, mint a fa áthaladása.