Les conditions de sortie des fonctions récursives C++ incluent : Conditions de base : vérifiez si la fonction atteint un état qui peut renvoyer directement des résultats, en jugeant généralement si une certaine condition ou valeur de paramètre atteint le seuil. Condition de fin de récursion : Alternative ou en plus à la condition de base, garantissant que la fonction s'arrête après un certain nombre d'appels récursifs, en suivant la profondeur de récursion ou en définissant une limite maximale de profondeur de récursion.
Conditions de sortie des fonctions récursives en C++
Les fonctions récursives résolvent les problèmes en s'appelant à plusieurs reprises. Pour éviter de rester coincé dans une boucle récursive infinie, des conditions de sortie claires doivent être définies. En C++, les conditions de sortie sont généralement implémentées de la manière suivante :
1 Conditions de base :
bool isEven(int n) { if (n == 0) { // 基线条件:当 n 为 0 时,返回 true return true; } else { return isEven(n - 1); // 递归调用 } }
2. Condition de terminaison récursive :
int fibonacci(int n) { if (n <= 1) { // 基线条件:当 n <= 1 时,返回 n return n; } else if (n > MAX_RECURSION_DEPTH) { // 递归终止条件:当递归深度超过限制时,返回错误值 return -1; } else { return fibonacci(n - 1) + fibonacci(n - 2); // 递归调用 } }
Cas pratique
L'exemple de fonction suivant calcule la factorielle d'un nombre donné :
int factorial(int n) { if (n == 0) { // 基线条件:当 n 为 0 时,返回 1 return 1; } else { return n * factorial(n - 1); // 递归调用 } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!