Rekursi ialah teknik pengaturcaraan di mana fungsi memanggil dirinya sendiri, sesuai untuk membahagi dan menakluk masalah. Dalam C++, fungsi rekursif ditakrifkan sebagai: returnType functionName(parameter), yang memerlukan situasi garis dasar yang jelas (syarat penamatan) dan panggilan rekursif (memanggil dirinya sendiri selepas mengemas kini parameter). Pengiraan faktor ialah kes klasik rekursi Kodnya adalah seperti berikut: `cpplong factorial(int n) { if (n == 0) {return 1;} else {return n * factorial(n-1);}}
Aplikasi Rekursi dalam C++
Pengenalan
Rekursi ialah teknik pengaturcaraan yang berkuasa yang membolehkan fungsi memanggil diri mereka sendiri. Ia sering digunakan untuk menyelesaikan masalah yang mempunyai sifat divide-and-conquer, iaitu masalah boleh dipecahkan kepada sub-masalah yang lebih kecil yang boleh diselesaikan secara rekursif.
Syntax
Dalam C++, fungsi rekursif ditakrifkan menggunakan sintaks berikut:
returnType functionName(parameters) { // 基线情况:当递归终止时要满足的条件 if (base_case) { return result; } // 递归调用:函数调用自己,传入更新后的参数 return functionName(updated_parameters); }
Kes praktikal: faktorial
Mencari faktorial bagi integer bukan negatif ialah contoh klasik integer bukan negatif Faktorial ditakrifkan sebagai:
factorial(n) = 1, if n = 0 = n * factorial(n-1), if n > 0
Kod berikut melaksanakan fungsi rekursif untuk mengira faktorial:
#include <iostream> long factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n-1); } } int main() { int n; std::cout << "Enter a non-negative integer: "; std::cin >> n; std::cout << "The factorial of " << n << " is: " << factorial(n) << std::endl; return 0; }
Aplikasi lain
Rekursi juga boleh digunakan untuk menyelesaikan pelbagai masalah, termasuk:
Petua
Atas ialah kandungan terperinci Aplikasi rekursi dalam C++: panduan praktikal secara ringkas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!