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

सी ++ में स्टैक का उपयोग करके एक लिंक सूची को उलट दें

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

एल्गोरिदम

START
   Step 1: create an empty stack of type node pointer
   Step 2: Traverse the list and push all of its nodes onto a stack
   Step 4: Traverse the list from the head node again
   Step 5: pop a value from the stack top
   step 6: connect them in reverse order
   Step 7: PRINT
STOP

उपरोक्त एल्गोरिथम के आधार पर, निम्नलिखित c++ कोड का मसौदा तैयार किया गया है जहां stdlib लाइब्रेरी फ़ाइल निबंध एक महत्वपूर्ण भूमिका निम्नलिखित के रूप में स्टैक से संबंधित प्रमुख विधियों का लाभ उठाती है;

उदाहरण

#include <iostream>
#include <stdlib.h>
using namespace std;
struct linked_list {
   int data;
   struct linked_list *next;
};
int stack[30], top = -1;
struct linked_list* head = NULL;
int printfromstack(int stack[]) {
   cout<<"\nStack after Reversal::";
   while(top>=0) {
      cout<<stack[top--]<<" ";
   }
}
int push(struct linked_list** head, int n) {
   struct linked_list* newnode = (struct linked_list*)malloc(sizeof(struct linked_list));
   newnode->data = n;
   newnode->next = (*head);
   (*head) = newnode;
}
int intostack(struct linked_list* head) {
   cout<<"Linked list::";
   while(head!=NULL) {
      printf("%d ", head->data);
      stack[++top] = head->data;
      head = head->next;
   }
}
int main(int argc, char const *argv[]) {
   push(&head, 7);
   push(&head, 20);
   push(&head, 3);
   push(&head, 40);
   intostack(head);
   printfromstack(stack);
   return 0;
}

जैसा कि ऊपर दिए गए कोड में देखा गया है, सभी स्ट्रिंग ऑपरेशन कोड को retrieveChar() में बंडल किया गया है विधि, बाद में, प्रोग्राम मुख्य () निष्पादन के लिए कौन सी कॉल पास की जाती है।

आउटपुट

Linked list:: 40 3 20 7
Stack after Reversal::7 20 3 40

  1. सी ++ एसटीएल में रिवर्स फ़ंक्शन सूचीबद्ध करें

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

  1. C++ में रिवर्स पोलिश नोटेशन का मूल्यांकन करें

    मान लीजिए हमारे पास एक त्रिभुज है। हमें ऊपर से नीचे तक का न्यूनतम पथ योग ज्ञात करना है। प्रत्येक चरण में हम नीचे की पंक्ति में आसन्न संख्याओं पर जा सकते हैं। उदाहरण के लिए, यदि निम्न त्रिभुज इस प्रकार है [    [2],    [3,4],    [6,5,7],    [4,1,8,3] ] ऊपर से

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

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