2
respostas

Chamar a própria função dentro de si mesma

Quando se chama a função mergeSort() dentro dela mesma, isso não cria um loop? Que será realizado até a condição do "if" não ser atendida? Não estava acostumado a chamar a própria função dentro dela mesma, e estranhei um pouco isso.

2 respostas

Isto se chama recursividade!

Para que um LOOP não ocorra é necessário definir uma condição de terminação de forma correta pois, às vezes, até mesmo a condição de terminação pode ser a causa do LOOP. Portanto, é preciso analisar e avaliar bem o problema que está sendo resolvido de forma recursiva e como ele deverá terminar, sem entrar em LOOP.