C++ में फॉरवर्ड_लिस्ट ::cbefore_begin () फ़ंक्शन के कार्य को दिखाने का कार्य दिया गया है।
एक फॉरवर्ड_लिस्ट केवल सामान्य सूची के विपरीत अगले तत्व के साथ संबंध रखता है जो अगले के साथ-साथ पूर्ववर्ती तत्वों के साथ संबंध रखता है, जो दोनों दिशाओं में पुनरावृत्तियों में मदद करता है। लेकिन फ़ॉरवर्ड_लिस्ट केवल आगे की दिशा में पुनरावृति कर सकता है।
Forward_list::cbefore_begin() फ़ंक्शन C++ मानक टेम्पलेट लाइब्रेरी का एक भाग है। इसका उपयोग सूची के पहले तत्व से पहले स्थिति प्राप्त करने के लिए किया जाता है।
इस फ़ंक्शन को कॉल करने के लिए
सिंटैक्स
Forward_List_Name.cbefore_begin();
पैरामीटर
फ़ंक्शन किसी भी पैरामीटर को स्वीकार नहीं करता है।
रिटर्न वैल्यू
फ़ंक्शन एक स्थिर पुनरावर्तक देता है जो फ़ॉरवर्ड_लिस्ट के पहले तत्व से पहले की स्थिति को इंगित करता है।
उदाहरण
Input: 8, 9, 32, 21 Output: 56 8 9 32 21
स्पष्टीकरण - यहां हमने 8,9,32,21 तत्वों के साथ एक अग्रेषित सूची बनाई है। फिर हमने cbefore_begin() फ़ंक्शन को कॉल किया जो सूची के पहले तत्व से पहले स्थिति को इंगित करता है और उस स्थिति को iterator itr में संग्रहीत करता है। फिर हम पहले तत्व से पहले की स्थिति में 56 तत्व डालने के लिए insert_after () फ़ंक्शन का उपयोग करते हैं, यानी 8। इसलिए जब हम इसे प्रिंट करते हैं, तो उत्पन्न आउटपुट 56 8 9 32 21 होता है, जो दर्शाता है कि 56 की शुरुआत में मिलता है सूची और इसलिए cbefore_begin फ़ंक्शन () ने सही ढंग से काम किया।
निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -
- पहले एक फ़ॉरवर्ड_लिस्ट बनाएं, आइए हम int प्रकार का "Lt" कहें और इसे कुछ मान निर्दिष्ट करें।
- फिर ऑटो टाइप का एक ऑब्जेक्ट "itr" बनाएं और उसमें स्टोर करें, cbefore_begin() फ़ंक्शन को कॉल करके इटरेटर वापस आ गया।
- फिर सूची की शुरुआत में एक नया तत्व डालने के लिए insert_after() फ़ंक्शन का उपयोग करें। इट्रेटर "itr" को पहले तर्क के रूप में पास करें और दूसरे के रूप में सम्मिलित करने के लिए संख्या।
- फिर सूची को प्रिंट करने के लिए फॉर लूप शुरू करें
- फिर अंत () और शुरू () फ़ंक्शन के रिटर्न मान प्राप्त करने के लिए लूप के अंदर ऑटो प्रकार का एक ऑब्जेक्ट "itr" बनाएं। start() फ़ंक्शन का उपयोग करके "itr" को सूची का पहला तत्व देकर प्रारंभ करें।
- फिर cend() फ़ंक्शन का उपयोग करके सूची के अंतिम तत्व के बराबर नहीं "itr" लिखकर लूप के लिए समाप्ति की स्थिति निर्दिष्ट करें।
- प्रिंट *itr.
एल्गोरिदम
Start Step 1->In function main() Initialize forward_list<int> Lt={} Initialize auto itr= Lt.cbefore_begin() Call insert_after(itr, new_element) Loop For auto itr = Ltcbegin() and itr != Lt.end() and itr++ Print *itr End Stop
उदाहरण
#include<iostream> #include<forward_list> using namespace std; int main() { forward_list<int> Lt = { 40, 55, 67, 89 }; auto itr = Lt.cbefore_begin(); Lt.insert_after(itr, 77); for (auto itr = Lt.begin(); it != Lt.end(); ++itr) cout << *itr << " "; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
77 40 55 67 89