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

सी ++ में कतारों का उपयोग करके स्टैक को लागू करें


मान लीजिए कि हम एक कतार का उपयोग करके एक स्टैक को लागू करना चाहते हैं। हमें स्टैक के लिए इन विधियों को परिभाषित करना होगा।

  • push(x) - x को स्टैक पर पुश करें।

  • पॉप () - स्टैक से शीर्ष तत्व को हटाएं और वापस करें

  • शीर्ष () - स्टैक से शीर्ष तत्व लौटाएं।

  • खाली () - वापस लौटें कि स्टैक खाली है या नहीं।

इसलिए, यदि हम फ़ंक्शन को पुश (10), पुश (20) कहते हैं, तो पॉप (), पॉप () कहते हैं, तो आउटपुट 20, 10

होगा।

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

  • एक डेक q को परिभाषित करें

  • फ़ंक्शन पुश () को परिभाषित करें, इसमें x लगेगा,

  • q की शुरुआत में x डालें

  • फ़ंक्शन पॉप को परिभाषित करें ()

  • k :=q का पहला तत्व

  • q से सामने वाला तत्व हटाएं

  • वापसी कश्मीर

  • फ़ंक्शन को परिभाषित करें top()

  • q का पहला तत्व लौटाएं

  • खाली फ़ंक्शन को परिभाषित करें ()

  • अगर q खाली है, तो -

    • सही लौटें

  • अन्यथा

    • झूठी वापसी

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
class MyStack {
private:
   deque<int> q;
public:
   void push(int x){
      q.push_front(x);
   }
   int pop(){
      int k = q.front();
      q.pop_front();
      return k;
   }
   int top(){
      return q.front();
   }
   bool empty(){
      if (q.empty())
         return true;
      else
         return false;
   }
};
main(){
   MyStack ob;
   ob.push(10);
   ob.push(20);
   cout << (ob.pop()) << endl;
   cout << (ob.pop()) << endl;
}

इनपुट

push(10),push(20),pop(),pop()

आउटपुट

20
10

  1. C++ में स्टैक का उपयोग करके किसी संख्या को उलट दें

    हमें इनपुट के रूप में एक पूर्णांक संख्या संख्या दी गई है। लक्ष्य स्टैक का उपयोग करके संख्या का उल्टा पता लगाना है। ढेर :- स्टैक C++ में एक डेटा संरचना है जो डेटा को LIFO (लास्ट इन फर्स्ट आउट) तरीके से स्टोर करती है। स्टैक के प्रमुख संचालन हैं-: घोषणा-:स्टैक स्टैक; //stck अब एक स्टैक वैरिएबल है।

  1. C++ में Rand7() का उपयोग करके Rand10 () को लागू करें

    मान लीजिए कि हमारे पास एक फ़ंक्शन रैंड 7 है जो 1 से 7 की सीमा में एक समान यादृच्छिक पूर्णांक उत्पन्न करता है, हमें एक और फ़ंक्शन रैंड 10 लिखना होगा जो 1 से 10 की सीमा में एक समान यादृच्छिक पूर्णांक उत्पन्न करता है। हम यादृच्छिक संख्या उत्पन्न करने के लिए कुछ लाइब्रेरी फ़ंक्शन का उपयोग नहीं कर सकते ह

  1. सी ++ एसटीएल में ढेर (3.5)

    C++ STL में, स्टैक का उपयोग कंटेनर के रूप में किया जाता है जिसे LIFO संरचना के रूप में कार्यान्वित किया जाता है। LIFO का मतलब लास्ट इन फर्स्ट आउट। स्टैक पुस्तकों के ढेर के रूप में देख सकता है जिसमें पुस्तकों को एक के ऊपर एक व्यवस्थित किया जाता है और अंतिम डाली गई पुस्तक सबसे पहले हटाई जाएगी, इसलिए इ