Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Recursão C++

Recursão C++


Neste tutorial, aprenderemos sobre a função recursiva em C++ e como funciona 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 a recursão funciona 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 uma ramificação faz a chamada recursiva e a outra não.

Exemplo 1:fatorial de um número usando recursão

// Factorial of n = 1*2*3*...*n

#include <iostream>
using namespace std;

int factorial(int);

int main() {
    int n, result;

    cout << "Enter a non-negative number: ";
    cin >> n;

    result = factorial(n);
    cout << "Factorial of " << n << " = " << result;
    return 0;
}

int factorial(int n) {
    if (n > 1) {
        return n * factorial(n - 1);
    } else {
        return 1;
    }
}

Saída
Enter a non-negative number: 4
Factorial of 4 = 24

Trabalho do Programa Fatorial




Como podemos ver, o factorial() função está chamando a si mesma. No entanto, durante cada chamada, diminuímos o valor de n por 1 . Quando n é menor que 1 , o factorial() em última análise, a função retorna a saída.

Vantagens e desvantagens da recursão


Abaixo estão os prós e contras de usar 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 relacionados a estruturas de dados e algoritmos avançados, como Graph e Tree Traversal.

Desvantagens da Recursão C++

  • É preciso muito espaço de pilha em comparação com um programa iterativo.
  • Usa mais tempo do processador.
  • Pode ser mais difícil depurar em comparação com um programa iterativo equivalente.

Linguagem C

  1. Operadores C++
  2. Comentários C++
  3. C - Recursão
  4. Visão geral do C++
  5. Constantes/literais C++
  6. Operadores em C++
  7. Números em C++
  8. Referências C++
  9. Modelos C++
  10. Pré-processador C++