funkce, která se nazývá sama, je známá jako rekurzivní funkce. A tato technika je známá jako rekurze.
jak rekurze funguje?
void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}
rekurze pokračuje, dokud nějaká podmínka není splněna, aby se zabránilo to.
, aby se zabránilo nekonečné rekurzi, pokud…jiný příkaz (nebo podobný přístup) lze použít tam, kde jedna větev provede rekurzivní volání a jiná ne.,
Příklad: Součet Přirozených Čísel Pomocí Rekurze
Výstupní
Enter a positive integer:3sum = 6
Původně sum()
se nazývá main()
funkce s číslem předán jako argument.
Předpokládejme, že hodnota n uvnitř sum()
je zpočátku 3. Během dalšího volání funkce se 2 přenese do funkce sum()
. Tento proces pokračuje, dokud se n rovná 0.,
Když n je rovno 0, if
stav se nezdaří a else
části je proveden vracet součet celých čísel v konečném důsledku do main()
funkce.
výhody a nevýhody rekurze
rekurze dělá program elegantní. Pokud je však výkon životně důležitý, použijte smyčky místo toho, protože rekurze je obvykle mnohem pomalejší.
rekurze je důležitým konceptem. Často se používá v datové struktuře a algoritmech., Například, to je obyčejné používat rekurzi v problémech, jako je strom traversal.