C++ rekursiya
O'zini chaqiradigan function rekursiv funksiya sifatida tanilgan. Va bu texnika rekursiya deb nomlanadi.
void recurse()
{
... .. ...
recurse();
... .. ...
}
int main()
{
... .. ...
recurse();
... .. ...
}
Quyidagi rasmda o'zini qayta-qayta chaqirish orqali rekursiya qanday ishlashi ko'rsatilgan.
How recursion works in C++ programming

Rekursiya ba'zi shartlar bajarilmaguncha davom etadi.
Cheksiz rekursiyani oldini olish uchun if...else operatori (yoki shunga o'xshash yondashuv) dan bitta filial rekursiv qo'ng'iroqni amalga oshirsa, ikkinchisi yo'q bo'lsa ishlatilishi mumkin.
// n = 1*2*3*...*n faktorial
#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;
}
}
Chiqish
Enter a non-negative number: 4
Factorial of 4 = 24
Bu C++ rekursiya dasturi qanday ishlaydi

Ko'rib turganimizdek, factorial() funksiyasi o'zini chaqirmoqda. Biroq, har bir qo'ng'iroq paytida biz n qiymatini 1 ga kamaytirdik. Agar n 1 dan kichik bo'lsa, factorial() funksiyasi yakuniy natijani qaytaradi.
Quyida C++ da rekursiyadan foydalanishning ijobiy va salbiy tomonlari keltirilgan.
Shuningdek o'qing:
-C++ Program to Calculate Power Using Recursion -C++ program to Calculate Factorial of a Number Using Recursion