Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ STL में List assign() फ़ंक्शन


C++ में assign() फ़ंक्शन के कार्य को दिखाने का कार्य दिया गया है।

list::assign() फ़ंक्शन C++ मानक टेम्पलेट लाइब्रेरी का हिस्सा है। इसका उपयोग लिस्ट को मान असाइन करने और एक लिस्ट से दूसरी लिस्ट में मान कॉपी करने के लिए किया जाता है।

<list> हेडर फ़ाइल को इस फ़ंक्शन को कॉल करने के लिए शामिल किया जाना चाहिए।

सिंटैक्स

नए मान असाइन करने के लिए सिंटैक्स इस प्रकार है −

List_Name.assign(size,value)

सिंटैक्स

एक लिस्ट से दूसरी लिस्ट में मान कॉपी करने के लिए सिंटैक्स इस प्रकार है −

First_List.assign(Second_List.begin(),Second_list.end())

पैरामीटर्स

फ़ंक्शन दो पैरामीटर्स लेता है −

पहला है साइज़, जो लिस्ट के आकार को दर्शाता है और दूसरा है वैल्यू, जो लिस्ट के अंदर स्टोर किए जाने वाले डेटा मान को दर्शाता है।

रिटर्न वैल्यू

फ़ंक्शन का कोई रिटर्न मान नहीं है।

उदाहरण

Input: Lt.assign(3,10) Output: The size of list Lt is 3. The elements of the list Lt are 10 10 10.

व्याख्या −

निम्न उदाहरण दर्शाता है कि हम assign() फ़ंक्शन का उपयोग करके लिस्ट को उसका आकार और मान कैसे असाइन कर सकते हैं। पहला मान जो हम लिस्ट फ़ंक्शन के अंदर पास करेंगे वह लिस्ट का आकार बन जाता है, इस मामले में यह 3 है और दूसरा एलिमेंट वह मान है जिसे लिस्ट के प्रत्येक पोजीशन पर असाइन किया जाता है और यहां यह 10 है।

उदाहरण

Input: int array[5] = { 1, 2, 3, 4 } Lt.assign(array,array+3) Output: The size of list Lt is 3. The elements of the list Lt are 1 2 3.

व्याख्या −

निम्न उदाहरण दर्शाता है कि हम एरे का उपयोग करके लिस्ट को मान कैसे असाइन कर सकते हैं। लिस्ट को असाइन किए गए तत्वों की कुल संख्या लिस्ट का आकार बन जाती है।

उपयोगकर्ता को बस एरे का नाम assign() फ़ंक्शन के अंदर पहले आर्गुमेंट के रूप में पास करना होगा, और दूसरा आर्गुमेंट एरे का नाम होना चाहिए, फिर "+" चिह्न उसके बाद उन तत्वों की संख्या जो उपयोगकर्ता लिस्ट को असाइन करना चाहता है।

उपरोक्त मामले में हमने 3 लिखा है, इसलिए एरे के पहले तीन तत्व लिस्ट को असाइन किए जाएंगे।

यदि हम एरे में मौजूद तत्वों की संख्या से बड़ी संख्या लिखते हैं, मान लें 6, तो प्रोग्राम कोई त्रुटि नहीं दिखाएगा बल्कि लिस्ट का आकार 6 हो जाएगा और लिस्ट में अतिरिक्त पोजीशन को मान शून्य से असाइन किया जाएगा।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण इस प्रकार है −

  • पहले ShowList(list<int> L) फ़ंक्शन बनाएं जो लिस्ट के तत्वों को प्रदर्शित करेगा।
  • एक इटरेटर बनाएं, मान लें itr जिसमें प्रदर्शित की जाने वाली लिस्ट का प्रारंभिक तत्व होगा।
  • लूप को तब तक चलाएं जब तक itr लिस्ट के अंतिम तत्व तक नहीं पहुंच जाता।
  • फिर main() फ़ंक्शन के अंदर list<int> का उपयोग करके तीन लिस्ट बनाएं, मान लें L1, L2 और L3 ताकि वे टाइप int के मान स्वीकार करें और फिर टाइप int का एक एरे बनाएं, मान लें arr[] और इसे कुछ मान असाइन करें।
  • फिर assign() फ़ंक्शन का उपयोग करके लिस्ट L1 को आकार और कुछ मान असाइन करें और फिर लिस्ट L1 को ShowDisplay() फ़ंक्शन में पास करें।
  • फिर assign() फ़ंक्शन का उपयोग करके लिस्ट L1 के तत्वों को L2 में कॉपी करें और L2 को ShowList() फ़ंक्शन में भी पास करें।
  • फिर assign() फ़ंक्शन का उपयोग करके एरे arr[] के तत्वों को लिस्ट L3 में कॉपी करें और लिस्ट L3 को DisplayList() फ़ंक्शन में पास करें।

एल्गोरिदम

Start Step 1-> Declare function DisplayList(list<int> L) for showing list elements    Declare iterator itr    Loop For itr=L.begin() and itr!=L.end() and itr++    Print *itr    End Step 2-> In function main()    Declare lists L1,L2,L3    Initialize array arr[]    Call L1.assign(size,value)    Print L1.size();    Call function DisplayList(L1) to display L1    Call L2.assign(L1.begin(),L1.end())    Print L2.size();    Call function DisplayList(L2) to display L2    Call L3.assign(arr,arr+4)    Print L3.size();    Call function DisplayList(L3) to display L3 Stop

उदाहरण

#include<iostream> #include<list> using namespace std; int ShowList(list<int> L) {    cout<<"The elements of the list are ";    list<int>::iterator itr;    for(itr=L.begin(); itr!=L.end(); itr++) {       cout<<*itr<<" ";    }    cout<<"\n"; } int main() {    list<int> L1;    list<int> L2;    list<int> L3;    int arr[10] = { 6, 7, 2, 4 };    //assigning size and values to list L1    L1.assign(3,20);    cout<<"The size of list L1 is "<<L1.size()<<"\n";    ShowList(L1);    //copying the elements of L1 into L3    L2.assign(L1.begin(),L1.end());    cout<<"The size of list is L2 "<<L2.size()<<"\n";    ShowList(L2);    //copying the elements of arr[] into list L3    L3.assign(arr,arr+4);    cout<<"The size of list is L3 "<<L3.size()<<"\n";    ShowList(L3);    return 0; }

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा −

The size of list L1 is 3 The elements of the list are 20 20 20 The size of list L2 is 3 The elements of the list are 20 20 20 The size of list L3 is 4 The elements of the list are 6 7 2 4

व्याख्या

लिस्ट L1 के लिए हमने assign() फ़ंक्शन में आकार 3 और मान 20 दिया था जिससे उपरोक्त आउटपुट उत्पन्न हुआ।

फिर हमने लिस्ट L1 के तत्वों को L2 में कॉपी किया जिससे L2 को L1 के समान आकार और मान मिला जैसा कि हम आउटपुट में देख सकते हैं।

फिर हमने assign फ़ंक्शन का उपयोग करके एरे arr[] के सभी तत्वों को कॉपी किया जिससे L3 का आकार 4 हो गया और इसके तत्व एरे के तत्वों के समान हो गए जैसा कि आउटपुट में है।


  1. C++ STL में List reverse फ़ंक्शन C++ STL में List reverse फ़ंक्शन

    STL में List क्या हैList एक डेटा संरचना है जो अनुक्रम में कहीं भी निरंतर समय सम्मिलन और विलोपन की अनुमति देती है। Lists को डबल लिंक्ड सूचियों के रूप में कार्यान्वित किया जाता है। Lists गैर-सन्निकट मेमोरी आवंटन की अनुमति देती हैं। List सरणी, वेक्टर और deque की तुलना में किसी भी स्थिति में तत्व के सम्

  1. - C++ STL में list back() फ़ंक्शन

    C++ में list back() फ़ंक्शन के कार्य को दिखाने का कार्य दिया गया है।list::back() फ़ंक्शन C++ मानक टेम्पलेट लाइब्रेरी का हिस्सा है। इसका उपयोग किसी भी लिस्ट के अंतिम तत्व को प्रदर्शित करने के लिए किया जाता है।<list> हेडर फ़ाइल को इस फ़ंक्शन को कॉल करने से पहले शामिल किया जाना चाहिए।सिंटैक्सList

  1. - C++ STL में deque assign() फ़ंक्शन

    दिया गया कार्य C++ STL में deque::assign() के कार्य को दिखाना है।Deque एक डबल एंडेड क्यू है। C++ में, deque::assign() एक अंतर्निहित फ़ंक्शन है जिसका उपयोग डेक कंटेनर को नया मान असाइन करने के लिए किया जाता है। हर बार जब यह फ़ंक्शन कॉल किया जाता है तो यह मौजूदा मानों को बदलकर और आवंटित आकार को बदलकर ड