C++ में forward_list assign() फ़ंक्शन के कार्य को दिखाने का कार्य दिया गया है।
एक forward_list केवल अगले तत्व के साथ लिंकेज रखता है, सामान्य लिस्ट के विपरीत जो अगले और पिछले दोनों तत्वों के साथ लिंकेज रखता है, जो आगे और पीछे दोनों दिशाओं में पुनरावृत्ति में मदद करता है। लेकिन forward_list केवल आगे की दिशा में पुनरावृति कर सकता है।
forward_list::assign() फ़ंक्शन C++ मानक टेम्पलेट लाइब्रेरी का हिस्सा है। इसका उपयोग forward लिस्ट के अंदर तत्व डालने के लिए किया जाता है और यदि लिस्ट में पहले से कुछ तत्व हैं तो उन्हें उपयोगकर्ता द्वारा जोड़े गए नए तत्वों से बदल दिया जाता है।
<forward_list> हेडर फ़ाइल को इस फ़ंक्शन को कॉल करने के लिए शामिल किया जाना चाहिए।
सिंटैक्स
इस फ़ंक्शन के लिए 3 प्रकार के सिंटैक्स हैं। प्रत्येक एक अलग विधि के लिए −
- Forward_list_name.assign(initializer_list);
- Forward_list_name.assign(iterator itr1 , iterator itr2);
- Forward_list_name.assign(count, value);
पैरामीटर्स
इनिशियलाइज़र_लिस्ट − पहले मामले में forward लिस्ट को उन मानों से भरा जाता है जो इनिशियलाइज़र लिस्ट के रूप में पास किए गए हैं उसी क्रम में।
इटरेटर − दूसरे मामले में forward लिस्ट को उन मानों से भरा जाता है जो इटरेटर्स itr1 और itr2 द्वारा इंगित मानों के बीच शामिल हैं। इसमें itr1 द्वारा इंगित मान भी शामिल है लेकिन itr2 द्वारा नहीं।
काउंट और वैल्यू − तीसरे मामले में पैरामीटर "काउंट" forward लिस्ट के अंदर डाले जाने वाले तत्वों की संख्या को संदर्भित करता है और "वैल्यू" उस मान को संदर्भित करता है जिसे प्रत्येक तत्व को असाइन किया जाना है।
पोजीशन, जो उस पोजीशन को दर्शाता है जिस पर नया तत्व रखा जाना है और वैल्यू, जो उस एलिमेंट को दर्शाता है जिसे लिस्ट के अंदर डाला जाना है।
रिटर्न वैल्यू
फ़ंक्शन कोई मान नहीं लौटाता।
उदाहरण
Input: assign(5,1) Output: 1 1 1 1 1
व्याख्या −
यहां हमने टाइप int की एक forward लिस्ट "Lt" बनाई। फिर हमने assign() फ़ंक्शन का उपयोग करके **काउंट** और **वैल्यू** पैरामीटर्स का उपयोग करके लिस्ट को मान असाइन किए।
इसने लिस्ट "Lt" को 5 तत्व असाइन किए प्रत्येक का मान 1, जिससे आउटपुट 1 1 1 1 1 उत्पन्न हुआ।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण इस प्रकार है −
- पहले टाइप int के तीन forward लिस्ट बनाएं, मान लें "Lt1", "Lt2" और "Lt3"।
- फिर assign() फ़ंक्शन का उपयोग करके Lt1 को तत्व असाइन करें जिसमें इनिशियलाइज़र लिस्ट को पैरामीटर के रूप में पास करें।
- फिर assign फ़ंक्शन का उपयोग करके Lt2 को तत्व असाइन करें जिसमें काउंट और वैल्यू को पैरामीटर्स के रूप में पास करें।
- फिर assign फ़ंक्शन का उपयोग करके Lt3 को तत्व असाइन करें जिसमें दो इटरेटर्स को पैरामीटर के रूप में पास करें, मान लें Lt1 के प्रारंभिक और अंतिम स्थितियों पर इंगित करते हैं।
एल्गोरिदम
Start Step 1->In function main() Declare forward_lists<int> Lt1,Lt2,Lt3 Call Lt1.assign(initialize list) Call Lt2.assign(count,value) Call Lt3.assign(L1.begin(),Lt2.end()) Stop
उदाहरण
#include <forward_list> #include <iostream> using namespace std; int main() { forward_list<int> Lt1; forward_list<int> Lt2; forward_list<int> Lt3; //assigning elements to Lt1 Lt1.assign({4,9,7,8}); //assigning elements to Lt2 Lt2.assign(3,6); //assigning elements to Lt2 Lt3.assign(Lt1.begin(),Lt1.end()); // Display the lists cout << "Lt1: "; for (int& D : Lt1) cout << D << " "; cout << endl; // Display Lt2 cout << "Lt2: "; for (int& D : Lt2) cout << D << " "; // Display Lt3 cout << "Lt3: "; for (int& D : Lt3) cout << D << " "; return 0; }आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा −
Lt1: 4 9 7 8 Lt2: 6 6 6 Lt3: 4 9 7 8