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

C++ में रिवर्स में अपरिवर्तनीय लिंक्ड सूची प्रिंट करें


मान लीजिए कि हमारे पास एक अपरिवर्तनीय लिंक्ड सूची है, हमें निम्नलिखित इंटरफ़ेस की सहायता से प्रत्येक नोड के सभी मानों को रिवर्स में प्रिंट करना होगा -

  • ImmutableListNode - यह एक अपरिवर्तनीय लिंक्ड सूची का इंटरफ़ेस है, हमें सूची का प्रमुख दिया जाता है।

लिंक की गई सूची तक पहुँचने के लिए हमें निम्नलिखित कार्यों का उपयोग करना होगा -

  • ImmutableListNode.printValue() - यह वर्तमान नोड का मान प्रिंट करेगा।

  • ImmutableListNode.getNext() -यह अगला नोड लौटाएगा।

तो अगर सूची इस प्रकार है:[0, -4, -1, 3, -5], तो आउटपुट [-5, 3, -1, -4, 0]

होगा

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • ImmutableListNode प्रकार नोड के लिए एक स्टैक सेंट परिभाषित करें

  • जबकि सिर खाली नहीं है

    • सेंट में सिर डालें

    • सिर :=सिर के बगल में

  • जबकि सेंट खाली नहीं है

    • स्टैक टॉप नोड का मान प्रिंट करें

    • स्टैक से नोड हटाएं

उदाहरण (C++)

एक बेहतर समझ प्राप्त करने के लिए आइए निम्नलिखित कार्यान्वयन को देखें -

class Solution {
public:
   void printLinkedListInReverse(ImmutableListNode* head) {
      stack <ImmutableListNode*> st;
      while(head){
         st.push(head);
         head = head->getNext();
      }
      while(!st.empty()){
         st.top()->printValue();
         st.pop();
      }
   }
};

इनपुट

[0,-4,-1,3,-5]

आउटपुट

[-5,3,-1,-4,0]

  1. सी प्रोग्राम में अतिरिक्त स्थान और संशोधन के बिना एक लिंक्ड सूची का उल्टा प्रिंट करें।

    कार्य अतिरिक्त स्थान का उपयोग किए बिना लिंक की गई सूची के अंत से शुरू होने वाले नोड्स को प्रिंट करना है, जिसका अर्थ है कि कोई अतिरिक्त चर नहीं होना चाहिए, इसके बजाय पहले नोड को इंगित करने वाले हेड पॉइंटर को स्थानांतरित कर दिया जाएगा। उदाहरण Input: 10 21 33 42 89 Output: 89 42 33 21 10 लिंक की गई

  1. सी++ में लिंक्ड सूची के वैकल्पिक नोड्स का योग

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

  1. सी ++ में रिकर्सन का उपयोग करके लिंक की गई सूची के वैकल्पिक नोड्स प्रिंट करें

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