У цьому посібнику ми дізнаємося про рекурсивну функцію в C ++ та її роботу за допомогою прикладів.
Функція, яка викликає себе, відома як рекурсивна функція. І ця методика відома як рекурсія.
Робота рекурсії в C ++
void recurse() (… recurse();… ) int main() (… recurse();… )
На малюнку нижче показано, як працює рекурсія, викликаючи себе знову і знову.

Рекурсія триває доти, доки не буде дотримано якусь умову.
Щоб запобігти нескінченній рекурсії, можна використовувати оператор if … else (або подібний підхід), коли одна гілка робить рекурсивний виклик, а інша - ні.
Приклад 1: множник числа, що використовує рекурсію
// 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; ) )
Вихідні дані
Введіть невід’ємне число: 4 Факториал 4 = 24
Робота факторної програми

Як бачимо, factorial()
функція викликає себе. Однак під час кожного дзвінка ми зменшували значення n на 1
. Коли n менше 1
, factorial()
функція в кінцевому підсумку повертає вихідні дані.
Переваги та недоліки рекурсії
Нижче наведено плюси і мінуси використання рекурсії в C ++.
Переваги рекурсії С ++
- Це робить наш код коротшим і чистішим.
- Рекурсія потрібна для проблем, що стосуються структур даних та вдосконалених алгоритмів, таких як обхід графіків та дерев.
Недоліки рекурсії С ++
- Це займає багато місця в стеку порівняно з ітеративною програмою.
- Він використовує більше процесорного часу.
- Налагодження може бути складніше порівняно з еквівалентною ітеративною програмою.