uma função que se chama a si mesma é conhecida como uma função recursiva. E, esta técnica é conhecida como recursão.
como funciona a recursão?
void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}
A recursividade continua até que alguma condição seja satisfeita para impedi-lo.
para prevenir a recursão infinita, if…outra indicação (ou abordagem similar) pode ser usada onde um ramo faz a chamada recursiva, e outro não.,
Exemplo: a Soma dos Números Naturais Utilizando a Recursividade
Saída
Enter a positive integer:3sum = 6
Inicialmente, o sum()
é chamado de main()
função com o número passado como argumento.
suponha que o valor de n Dentro de sum()
é 3 inicialmente. Durante a próxima chamada de função, 2 é passado para a função sum()
. Este processo continua até n ser igual a 0.,
When N is equal to 0, the if
condition fails and the else
part is executed returning the sum of integers ultimately to the main()
function.
vantagens e desvantagens da recursão
recursão torna o programa elegante. No entanto, se o desempenho é vital, use loops em vez disso, como recursão é geralmente muito mais lento.
Que sendo dito, recursão é um conceito importante. É frequentemente usado em estrutura de dados e algoritmos., Por exemplo, é comum usar recursão em problemas como tree traversal.