কম্পিউটার

C++ এ সারি ব্যবহার করে স্ট্যাক প্রয়োগ করুন


ধরুন আমরা একটি সারি ব্যবহার করে একটি স্ট্যাক বাস্তবায়ন করতে চাই। স্ট্যাকের জন্য আমাদের এই পদ্ধতিগুলিকে সংজ্ঞায়িত করতে হবে।

  • push(x) - স্ট্যাকের উপর x চাপুন।

  • pop() - স্ট্যাক থেকে শীর্ষ উপাদান মুছুন এবং ফেরত দিন

  • top() - স্ট্যাক থেকে উপরের উপাদানটি ফেরত দিন।

  • empty() - স্ট্যাক খালি হোক বা না হোক ফেরত দিন।

সুতরাং, আমরা যদি ফাংশনগুলিকে push(10), push(20) বলি, তারপর কল করি pop(), pop(), তাহলে আউটপুট হবে 20, 10

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • একটি deque q

    সংজ্ঞায়িত করুন
  • একটি ফাংশন push() সংজ্ঞায়িত করুন, এটি x,

    লাগবে
  • q

    এর শুরুতে x সন্নিবেশ করান
  • একটি ফাংশন pop()

    সংজ্ঞায়িত করুন
  • k :=q

    এর প্রথম উপাদান
  • q

    থেকে সামনের উপাদান মুছুন
  • k

    ফেরত দিন
  • একটি ফাংশন টপ()

    সংজ্ঞায়িত করুন
  • 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++ ব্যবহার করে Main() এ রিটার্ন স্টেটমেন্ট বনাম Exit()

  2. C++-এ স্ট্যাক ব্যবহার করে একটি সংখ্যা বিপরীত করুন

  3. C++ এ Rand7() ব্যবহার করে Rand10() প্রয়োগ করুন

  4. C++ STL(3.5) এ স্ট্যাক