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

C++ में लिस्ट (4.5)


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

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

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

लिस्ट का उपयोग करने का नुकसान

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

लिस्ट से जुड़े फ़ंक्शन

  • Push_front(element) - इस फ़ंक्शन का उपयोग लिस्ट की शुरुआत में तत्व डालने के लिए किया जाता है।
    सिंटैक्स - listName.push_front(datatype element)
    पैरामीटर - यह सम्मिलित किए जाने वाले मान के रूप में एक पैरामीटर लेता है।
    रिटर्न मान - कोई रिटर्न मान नहीं।

  • Push_back(element) - इस फ़ंक्शन का उपयोग लिस्ट के अंत में तत्व डालने के लिए किया जाता है।
    सिंटैक्स - listName.push_back(datatype element)
    पैरामीटर - यह सम्मिलित किए जाने वाले मान के रूप में एक पैरामीटर लेता है।
    रिटर्न मान - कोई रिटर्न मान नहीं।

  • Insert() - इस फ़ंक्शन का उपयोग लिस्ट कंटेनर में दी गई स्थिति पर तत्व डालने के लिए किया जाता है।
    सिंटैक्स - listName.insert(position, total, element)
    पैरामीटर - यह तीन पैरामीटर लेता है -

    • स्थिति, जिस पर तत्व डाला जाना है

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

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


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

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

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

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

  • Back() - इस फ़ंक्शन का उपयोग लिस्ट के अंतिम तत्व को प्राप्त करने के लिए किया जाता है।
    सिंटैक्स - listName.back()
    पैरामीटर - कोई पैरामीटर नहीं
    रिटर्न मान - यह फ़ंक्शन अंतिम तत्व का सीधा संदर्भ वापस करता है

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

  • Resize() - इस फ़ंक्शन का उपयोग लिस्ट में तत्वों की कुल संख्या का आकार बदलने के लिए किया जाता है।
    सिंटैक्स - listName.resize(int resized_number, value(optional))
    पैरामीटर - यह दो पैरामीटर लेता है

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

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


    रिटर्न मान - कोई रिटर्न मान नहीं।

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

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

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

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

  • Erase() - इस फ़ंक्शन का उपयोग पास किए गए पैरामीटर के आधार पर एकल तत्व के साथ-साथ कई तत्वों को मिटाने के लिए किया जाता है।
    सिंटैक्स - iterator listName.erase(iterator position) iterator listName.erase(iterator First_ele, iterator Last_ele)
    पैरामीटर - पहले सिंटैक्स में, यह स्थिति पैरामीटर लेता है जो लिस्ट कंटेनर से तत्व को हटाए जाने की स्थिति को निर्दिष्ट करता है। दूसरे सिंटैक्स में, यह पहले तत्व और अंतिम तत्व पैरामीटर लेता है जो उस रेंज को निर्दिष्ट करता है जिससे तत्व हटाए जाएंगे।
    रिटर्न मान - यह अंतिम हटाए गए तत्व की ओर इंगित करने वाला इटरेटर वापस करता है।

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

    • true वापस करता है - जब लिस्ट खाली हो

    • false वापस करता है - जब लिस्ट खाली न हो।

  • Begin() - यह फ़ंक्शन एक इटरेटर वापस करता है जो लिस्ट में पहले तत्व की ओर इंगित करता है।
    सिंटैक्स - listName.begin()
    पैरामीटर - कोई पैरामीटर नहीं
    रिटर्न मान - लिस्ट में पहले तत्व की ओर इंगित करने वाला इटरेटर वापस करता है।

  • End() - यह फ़ंक्शन एक इटरेटर वापस करता है जो लिस्ट में अंतिम तत्व की ओर इंगित करता है।
    सिंटैक्स - listName.end()
    पैरामीटर - कोई पैरामीटर नहीं
    रिटर्न मान - लिस्ट में अंतिम तत्व की ओर इंगित करने वाला इटरेटर वापस करता है।
    rbegin() - यह फ़ंक्शन एक रिवर्स इटरेटर वापस करता है जो लिस्ट में अंतिम तत्व की ओर इंगित करता है।
    सिंटैक्स - listName.rbegin()
    पैरामीटर - कोई पैरामीटर नहीं
    रिटर्न मान - लिस्ट में अंतिम तत्व की ओर इंगित करने वाला रिवर्स इटरेटर वापस करता है।

  • Rend() - यह फ़ंक्शन एक रिवर्स इटरेटर वापस करता है जो लिस्ट में पहले तत्व की ओर इंगित करता है।
    सिंटैक्स - listName.rend()
    पैरामीटर - कोई पैरामीटर नहीं
    रिटर्न मान - लिस्ट में पहले तत्व की ओर इंगित करने वाला रिवर्स इटरेटर वापस करता है।

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

  • Cend() - यह फ़ंक्शन एक कॉन्स्टेंट रैंडम एक्सेस इटरेटर वापस करता है जो लिस्ट के अंत की ओर इंगित करता है।
    सिंटैक्स - listName.cend()
    पैरामीटर - कोई पैरामीटर नहीं
    रिटर्न मान - लिस्ट के अंत की ओर इंगित करने वाला कॉन्स्टेंट रैंडम-एक्सेस इटरेटर वापस करता है।

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

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

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

  • Unique() - इस फ़ंक्शन का उपयोग लिस्ट से सभी डुप्लिकेट लगातार तत्वों को हटाने के लिए किया जाता है।
    सिंटैक्स - listName.unique(प्रेडिकेट जो दो मानों को समान मानता है)
    पैरामीटर - यह वैकल्पिक पैरामीटर लेता है जो दो तत्वों को समान मानने पर true वापस करता है।
    रिटर्न मान - कोई रिटर्न मान नहीं

  • Emplace() - इस फ़ंक्शन का उपयोग दी गई स्थिति पर नया तत्व डालने के लिए किया जाता है।
    सिंटैक्स - listName.emplace(position, value)
    पैरामीटर - यह दो पैरामीटर लेता है, एक वह स्थिति निर्दिष्ट करता है जिस पर तत्व डाला जाना है और दूसरा वह तत्व मान बताता है जिसे डाला जाना है।
    रिटर्न मान - नए डाले गए तत्व की ओर इंगित करने वाला इटरेटर वापस करता है।

  • Emplace_front() - इस फ़ंक्शन का उपयोग लिस्ट की शुरुआत में नया तत्व डालने के लिए किया जाता है।
    सिंटैक्स - listName.emplace_front(element)
    पैरामीटर - यह एक पैरामीटर लेता है जो डालने के लिए मान निर्दिष्ट करता है
    रिटर्न मान - कोई रिटर्न मान नहीं।

  • Emplace_back() - इस फ़ंक्शन का उपयोग लिस्ट के अंत में नया तत्व डालने के लिए किया जाता है।
    सिंटैक्स - listName.emplace_back(element)
    पैरामीटर - यह एक पैरामीटर लेता है जो डालने के लिए मान निर्दिष्ट करता है
    रिटर्न मान - कोई रिटर्न मान नहीं।

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

  • Swap() - इस फ़ंक्शन का उपयोग एक लिस्ट की सामग्री को उसी प्रकार की दूसरी लिस्ट से स्वैप करने के लिए किया जाता है।
    सिंटैक्स - listName_1.swap(listName_2)
    पैरामीटर - कोई पैरामीटर नहीं
    रिटर्न मान - कोई रिटर्न मान नहीं।

  • Merge() - इस फ़ंक्शन का उपयोग दो लिस्ट के तत्वों को मर्ज करने के लिए किया जाता है।
    सिंटैक्स - listName_1.merge(listName_2)
    पैरामीटर - कोई पैरामीटर नहीं
    रिटर्न मान - कोई रिटर्न मान नहीं।

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

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

  1. - C++ में लिस्ट में मिसिंग परमुटेशन

    समस्या कथन किसी भी शब्द के परमुटेशन की एक लिस्ट दी गई है। परमुटेशन की लिस्ट से मिसिंग परमुटेशन ढूंढें। उदाहरण यदि परमुटेशन है = { ABC, ACB, BAC, BCA} तो मिसिंग परमुटेशन हैं {CBA और CAB} एल्गोरिदम दिए गए सभी स्ट्रिंग्स का एक सेट बनाएं और सभी परमुटेशन का एक और सेट दोनों सेट्स के बीच का अंतर वापस क

  1. - C++ में स्ट्रैंड सॉर्ट

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