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

सी++ में सूची(4.5)


List कंटेनर के प्रकार हैं जो क्रमिक तरीके से डेटा स्टोर करते हैं और तत्वों को गैर-सन्निहित मेमोरी आवंटित करते हैं। सी ++ में, सूचियों को डबल लिंक्ड सूची के रूप में माना जाता है जहां दोनों सिरों से तत्वों का सम्मिलन और विलोपन किया जा सकता है और इसलिए, दोनों छोर से सूची को पार करना भी संभव है। सिंगल लिंक्ड लिस्ट का उपयोग करने के लिए हम C++ STL में उपलब्ध फॉरवर्ड लिस्ट का उपयोग करते हैं।

लिस्ट ओवर वेक्टर का उपयोग करने का लाभ यह है कि

सूची कंटेनर में उपलब्ध तत्वों को सम्मिलित करने और हटाने में सूची तेज होती है यदि इटरेटर सही तत्व पर स्थित है।

सूची का उपयोग करने का नुकसान यह है कि

सूची में कंटेनर में उपलब्ध तत्व को सीधे उसकी स्थिति के माध्यम से लाना मुश्किल है। जैसे, यदि हम चौथा तत्व प्राप्त करना चाहते हैं तो सीधे चौथे तत्व पर कूदना मुश्किल होगा, इसके बजाय इटरेटर को प्रारंभ या अंत स्थान से वहां पहुंचने की आवश्यकता है।

सूचियों से जुड़े कार्य हैं

  • पुश_फ्रंट(तत्व) - इस फ़ंक्शन का उपयोग सूची की शुरुआत में तत्व सम्मिलित करने के लिए किया जाता है।

    वाक्यविन्यास -listName.push_front(डेटाटाइप तत्व)

    पैरामीटर - डालने के लिए मान के रूप में यह एक पैरामीटर लेता है।

    वापसी मूल्य - कोई वापसी मूल्य नहीं।

  • पुश_बैक(तत्व) - इस फ़ंक्शन का उपयोग सूची के अंत में तत्व सम्मिलित करने के लिए किया जाता है।

    वाक्यविन्यास - listName.push_back(datatype element)

    पैरामीटर - डालने के लिए मान के रूप में यह एक पैरामीटर लेता है।

    वापसी मूल्य - कोई वापसी मूल्य नहीं।

  • सम्मिलित करें () - इस फ़ंक्शन का उपयोग सूची कंटेनर में दिए गए स्थान पर तत्व डालने के लिए किया जाता है।

    वाक्यविन्यास -:listName.insert(स्थिति, कुल, तत्व)

    पैरामीटर - इसमें तीन पैरामीटर लगते हैं -

    • वह स्थान, जिस पर तत्व डालने की आवश्यकता है

    • कुल, सम्मिलित किए जाने वाले तत्वों की कुल संख्या निर्दिष्ट करता है

    • तत्व सम्मिलित किए जाने वाले तत्व को निर्दिष्ट करता है।

  • वापसी मूल्य - नए सम्मिलित तत्वों की शुरुआत की ओर इशारा करते हुए इटरेटर लौटाता है।

  • पॉप_फ्रंट () - इस फ़ंक्शन का उपयोग सूची की शुरुआत से तत्व को हटाने के लिए किया जाता है।

    वाक्यविन्यास - listName.pop_front ()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - कोई वापसी मूल्य नहीं

  • सामने () - इस फ़ंक्शन का उपयोग सूची के पहले तत्व को लाने के लिए किया जाता है।

    वाक्यविन्यास - लिस्टनाम.फ्रंट ()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - यह फ़ंक्शन पहले तत्व का सीधा संदर्भ देता है

  • पॉप_बैक () - इस फ़ंक्शन का उपयोग सूची के अंत से तत्व को हटाने के लिए किया जाता है।

    वाक्यविन्यास - listName.pop_back()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - कोई वापसी मूल्य नहीं

  • पीछे () - इस फ़ंक्शन का उपयोग सूची के अंतिम तत्व को लाने के लिए किया जाता है।

    वाक्यविन्यास - listName.back()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - यह फ़ंक्शन अंतिम तत्व का सीधा संदर्भ देता है

  • आकार () - इस फ़ंक्शन का उपयोग सूची में तत्वों की कुल संख्या लाने के लिए किया जाता है।

    वाक्यविन्यास - listName.size ()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - यह फ़ंक्शन सूची में तत्वों की कुल संख्या लौटाता है।

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

    वाक्यविन्यास - listName.resize(int resized_number, value(वैकल्पिक))

    पैरामीटर - इसमें दो पैरामीटर लगते हैं

    • resize_number - सटीक संख्या जिस तक कंटेनर का आकार बढ़ाया या घटाया जा सकता है

    • मान(वैकल्पिक) - यह एक वैकल्पिक पैरामीटर है जो तत्वों के अंत में निर्दिष्ट मान जोड़ देगा।

  • वापसी मूल्य -:कोई वापसी मूल्य नहीं।

  • Max_size() - इस फ़ंक्शन का उपयोग किसी सूची में मौजूद तत्वों की अधिकतम संख्या प्राप्त करने के लिए किया जाता है।

    वाक्यविन्यास - listName.max_size()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - यह फ़ंक्शन सूची में मौजूद तत्वों की अधिकतम संख्या लौटाता है।

  • साफ़ करें () - इस फ़ंक्शन का उपयोग सूची से सभी तत्वों को हटाने और इसके आकार को 0 पर रीसेट करने के लिए किया जाता है।

    वाक्यविन्यास - listName.max_size()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - कोई वापसी मूल्य नहीं।

  • निकालें (तत्व) - इस फ़ंक्शन का उपयोग पैरामीटर में पारित तत्व से मेल खाने वाले सभी तत्वों को हटाने के लिए किया जाता है।

    वाक्यविन्यास - listName.remove(element)

    पैरामीटर - यह एकल पैरामीटर लेता है जो सूची कंटेनर से हटाए जाने वाले तत्व को निर्दिष्ट करता है।

    वापसी मूल्य - कोई वापसी मूल्य नहीं।

  • Remove_if(फ़ंक्शन पॉइंटर/फ़ंक्शन ऑब्जेक्ट) - इस फ़ंक्शन का उपयोग पैरामीटर में पारित स्थिति के आधार पर पैरामीटर में पारित तत्व से मेल खाने वाले सभी तत्वों को हटाने के लिए किया जाता है।

    वाक्यविन्यास - listName.remove_if(फ़ंक्शन पॉइंटर/फ़ंक्शन ऑब्जेक्ट)

    पैरामीटर - यह फंक्शन पॉइंटर या फंक्शन ऑब्जेक्ट के रूप में सिंगल पैरामीटर लेता है।

    वापसी मूल्य - जब सभी तत्व हटा दिए जाते हैं तो यह सच हो जाता है।

  • मिटाएं () - इस फ़ंक्शन का उपयोग एकल तत्व के साथ-साथ कई तत्वों को मिटाने के लिए किया जाता है, जो इसे पारित किए गए पैरामीटर पर निर्भर करता है

    वाक्यविन्यास -:iterator listName.erase(iterator position)iterator listName.erase(iterator First_ele, iterator Last_ele)

    पैरामीटर - पहले सिंटैक्स में, यह पैरामीटर स्थिति लेता है जो उस स्थिति को निर्दिष्ट करता है जिस पर तत्व सूची कंटेनर से हटा दिया जाएगा। दूसरे सिंटैक्स में, यह पैरामीटर पहला तत्व और अंतिम तत्व लेता है जो उस सीमा को निर्दिष्ट करता है जिससे तत्वों को हटाया जाएगा

    वापसी मूल्य - यह अंतिम रूप से हटाए गए तत्व की ओर इशारा करते हुए एक पुनरावर्तक देता है।

  • खाली () - इस फ़ंक्शन का उपयोग यह जांचने के लिए किया जाता है कि सूची खाली है या नहीं।

    वाक्यविन्यास - सूचीनाम.खाली ()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य -

    • सही लौटें - जब सूची खाली हो

    • झूठी वापसी - जब सूची खाली न हो।

  • शुरू करें () - यह फ़ंक्शन एक पुनरावर्तक देता है जो सूची में पहले तत्व को इंगित करता है।

    वाक्यविन्यास - listName.begin()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - एक पुनरावर्तक देता है जो सूची में पहले तत्व को इंगित करता है।

  • समाप्त () - यह फ़ंक्शन एक पुनरावर्तक देता है जो सूची में अंतिम तत्व को इंगित करता है।

    वाक्यविन्यास - listName.end()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - एक पुनरावर्तक देता है जो सूची में अंतिम तत्व को इंगित करता है।
    आरबेगिन () - यह फ़ंक्शन एक रिवर्स इटरेटर देता है जो सूची में अंतिम तत्व को इंगित करता है।
    वाक्यविन्यास - listName.rbegin ()
    पैरामीटर - कोई पैरामीटर नहीं
    वापसी मूल्य - एक रिवर्स इटरेटर देता है जो सूची में अंतिम तत्व को इंगित करता है।

  • रेंड करें () - यह फ़ंक्शन एक रिवर्स इटरेटर देता है जो सूची में पहले तत्व को इंगित करता है।

    वाक्यविन्यास - listName.rend ()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - एक रिवर्स इटरेटर देता है जो सूची में पहले तत्व को इंगित करता है।

  • Cbegin() - इस फ़ंक्शन का उपयोग एक निरंतर रैंडम एक्सेस इटरेटर लौटाने के लिए किया जाता है जो सूची की शुरुआत की ओर इशारा करता है।

    वाक्यविन्यास - listName.cbegin()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - एक निरंतर रैंडम-एक्सेस इटरेटर देता है जो सूची की शुरुआत की ओर इशारा करता है।

  • छोड़ें () - - इस फ़ंक्शन का उपयोग एक निरंतर रैंडम एक्सेस इटरेटर लौटाने के लिए किया जाता है जो सूची के अंत की ओर इशारा करता है।

    वाक्यविन्यास - listName.cend()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - एक निरंतर रैंडम-एक्सेस इटरेटर देता है जो सूची के अंत की ओर इशारा करता है।

  • Crbegin() - इस फ़ंक्शन का उपयोग एक निरंतर रैंडम एक्सेस रिवर्स इटरेटर लौटाने के लिए किया जाता है जो सूची के अंत की ओर इशारा करता है।

    वाक्यविन्यास - listName.crbegin()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - एक निरंतर रैंडम एक्सेस रिवर्स इटरेटर देता है जो सूची के अंत की ओर इशारा करता है।

  • क्रेंड () - इस फ़ंक्शन का उपयोग एक निरंतर रैंडम एक्सेस रिवर्स इटरेटर लौटाने के लिए किया जाता है जो सूची की शुरुआत की ओर इशारा करता है।

    वाक्यविन्यास - listName.crend ​​()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - एक निरंतर रैंडम एक्सेस रिवर्स इटरेटर देता है जो सूची की शुरुआत की ओर इशारा करता है।

  • रिवर्स () - इस फ़ंक्शन का उपयोग सूची कंटेनर में सभी तत्वों को उल्टा करने के लिए किया जाता है।

    वाक्यविन्यास - listName.reverse()

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - कोई वापसी मूल्य नहीं

  • अद्वितीय () - इस फ़ंक्शन का उपयोग सूची से सभी डुप्लिकेट लगातार तत्वों को हटाने के लिए किया जाता है।

    वाक्यविन्यास - listName.unique (विधेय करें कि दो मानों को समान माना जाए)

    पैरामीटर - यह वैकल्पिक पैरामीटर लेता है जो दो तत्वों को समान मानने की आवश्यकता होने पर सत्य लौटाता है।

    वापसी मूल्य - कोई वापसी मूल्य नहीं

  • प्रतिस्थापित करें () - इस फ़ंक्शन का उपयोग दिए गए स्थान पर नए तत्व को सम्मिलित करने के लिए किया जाता है।

    वाक्यविन्यास - listName.emplace(स्थिति, मान)

    पैरामीटर - इसमें दो पैरामीटर लगते हैं, एक जो उस स्थिति को निर्दिष्ट करता है जिस पर तत्व को सम्मिलित करने की आवश्यकता होती है और दूसरा उस तत्व मान को बताता है जिसे सम्मिलित करने की आवश्यकता है।

    वापसी मूल्य - एक पुनरावर्तक देता है जो नए सम्मिलित तत्व को इंगित करता है।

  • Emplace_front () - इस फ़ंक्शन का उपयोग सूची की शुरुआत में नया तत्व डालने के लिए किया जाता है।

    वाक्यविन्यास - listName.emplace_front(element)

    पैरामीटर - यह एक पैरामीटर लेता है जो सम्मिलित किए जाने वाले मान को निर्दिष्ट करता है

    वापसी मूल्य - कोई वापसी मूल्य नहीं।

  • Emplace_back() - इस फ़ंक्शन का उपयोग सूची के अंत में नया तत्व डालने के लिए किया जाता है।

    वाक्यविन्यास - listName.emplace_back(element)

    पैरामीटर - यह एक पैरामीटर लेता है जो सम्मिलित किए जाने वाले मान को निर्दिष्ट करता है

    वापसी मूल्य - कोई वापसी मूल्य नहीं।

  • ऑपरेटर(=) - इस ऑपरेटर का उपयोग एक सूची की सामग्री को दूसरी सूची से बदलने के लिए किया जाता है।

    वाक्यविन्यास - सूचीनाम_1 =सूचीनाम_2

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - कोई वापसी मूल्य नहीं।

  • स्वैप () - इस फ़ंक्शन का उपयोग एक सूची की सामग्री को उसी प्रकार की दूसरी सूची से स्वैप करने के लिए किया जाता है

    वाक्यविन्यास - listName_1.swap(listName_2)

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - कोई वापसी मूल्य नहीं।

  • मर्ज करें () - इस फ़ंक्शन का उपयोग तत्वों को दो सूचियों में मर्ज करने के लिए किया जाता है।

    वाक्यविन्यास - listName_1.merge(listName_2)

    पैरामीटर - कोई पैरामीटर नहीं

    वापसी मूल्य - कोई वापसी मूल्य नहीं।


  1. सी ++ में एक लिंक्ड सूची को समतल करना

    इस समस्या में, हमें दो पॉइंटर नोड्स वाली लिंक्ड लिस्ट दी जाती है, दाएं और नीचे। दायां नोड मुख्य लिंक्ड सूची सूचक है। डाउन नोड उस नोड से शुरू होने वाली सेकेंडरी लिंक्ड लिस्ट के लिए है। सभी लिंक की गई सूचियां क्रमबद्ध हैं। हमारा काम एक लिंक की गई सूची को समतल करने के लिए एक प्रोग्राम बनाना ह

  1. सी ++ में एक सूची में गुम क्रमपरिवर्तन

    समस्या कथन किसी भी शब्द के क्रमपरिवर्तन की सूची को देखते हुए। क्रमपरिवर्तन की सूची से लापता क्रमपरिवर्तन का पता लगाएं। उदाहरण If permutation is = { “ABC”, “ACB”, “BAC”, “BCA”} then missing permutations are {“CBA” and “CAB”} हैं

  1. सी ++ में स्ट्रैंड सॉर्ट करें

    इस खंड में हम देखेंगे कि हम सी ++ के मानक पुस्तकालय का उपयोग करके कुछ सरणी या लिंक्ड सूची को कैसे सॉर्ट कर सकते हैं। सी ++ में कई अलग-अलग पुस्तकालय हैं जिनका उपयोग विभिन्न उद्देश्यों के लिए किया जा सकता है। छँटाई उनमें से एक है। C++ फ़ंक्शन std::list::sort() सूची के तत्वों को आरोही क्रम में क्रमबद्