इस ट्यूटोरियल में, हम C ++ में पुनरावर्ती कार्य और इसके उदाहरणों की मदद से काम करना सीखेंगे।
एक फ़ंक्शन जो स्वयं को कॉल करता है, एक पुनरावर्ती फ़ंक्शन के रूप में जाना जाता है। और, इस तकनीक को रिकर्सन के रूप में जाना जाता है।
C ++ में Recursion का कार्य करना
void recurse() (… recurse();… ) int main() (… recurse();… )
नीचे दिए गए आंकड़े से पता चलता है कि कैसे पुनरावृत्ति खुद को बार-बार कॉल करके काम करती है।
![](https://cdn.wiki-base.com/6201887/c_recursion_with_example.png.webp)
कुछ स्थिति पूरी होने तक पुनरावृत्ति जारी रहती है।
अनंत पुनरावृत्ति को रोकने के लिए, यदि … अन्य विवरण (या समान दृष्टिकोण) का उपयोग किया जा सकता है जहां एक शाखा पुनरावर्ती कॉल करती है और दूसरा नहीं करता है।
उदाहरण 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
फैक्टरल प्रोग्राम का कार्य करना
![](https://cdn.wiki-base.com/6201887/c_recursion_with_example_2.png.webp)
जैसा कि हम देख सकते हैं, factorial()
फ़ंक्शन स्वयं कॉल कर रहा है। हालाँकि, प्रत्येक कॉल के दौरान, हमने n के मूल्य में कमी की है 1
। जब n से कम होता है 1
, तो factorial()
फ़ंक्शन अंततः आउटपुट देता है।
लाभ और नुकसान का नुकसान
नीचे C ++ में पुनरावृत्ति का उपयोग करने के पेशेवरों और विपक्ष हैं।
C ++ रिक्रिएशन के लाभ
- यह हमारे कोड को छोटा और साफ करता है।
- डेटा संरचना और उन्नत एल्गोरिदम, जैसे ग्राफ़ और ट्री ट्रैवर्सल से संबंधित समस्याओं में पुनरावृत्ति आवश्यक है।
C ++ रिक्रिएशन का नुकसान
- एक पुनरावृत्त कार्यक्रम की तुलना में यह ढेर सारी जगह लेता है।
- यह अधिक प्रोसेसर समय का उपयोग करता है।
- समतुल्य पुनरावृत्ति कार्यक्रम की तुलना में डिबग करना अधिक कठिन हो सकता है।