Neste tutorial, aprenderemos sobre funções recursivas em C ++ e seu funcionamento com a ajuda de exemplos.
Uma função que chama a si mesma é conhecida como função recursiva. E, esta técnica é conhecida como recursão.
Trabalho de recursão em C ++
void recurse() (… recurse();… ) int main() (… recurse();… )
A figura abaixo mostra como funciona a recursão, chamando a si mesma repetidamente.

A recursão continua até que alguma condição seja atendida.
Para evitar a recursão infinita, a instrução if… else (ou abordagem semelhante) pode ser usada onde um branch faz a chamada recursiva e o outro não.
Exemplo 1: fatorial de um número usando recursão
// Factorial of n = 1*2*3*… *n #include using namespace std; int factorial(int); int main() ( int n, result; cout <> n; result = factorial(n); cout << "Factorial of " << n << " = " < 1) ( return n * factorial(n - 1); ) else ( return 1; ) )
Resultado
Insira um número não negativo: 4 Fatorial de 4 = 24
Programa de Trabalho Fatorial

Como podemos ver, a factorial()
função está chamando a si mesma. No entanto, durante cada chamada, diminuímos o valor de n em 1
. Quando n é menor que 1
, a factorial()
função finalmente retorna a saída.
Vantagens e desvantagens da recursão
Abaixo estão os prós e contras do uso de recursão em C ++.
Vantagens da recursão C ++
- Isso torna nosso código mais curto e mais limpo.
- A recursão é necessária em problemas relativos a estruturas de dados e algoritmos avançados, como Graph e Tree Traversal.
Desvantagens da recursão C ++
- Ele ocupa muito espaço na pilha em comparação a um programa iterativo.
- Ele usa mais tempo do processador.
- Pode ser mais difícil depurar em comparação com um programa iterativo equivalente.