কম্পিউটার টিউটোরিয়াল

ডবল-এন্ডেড প্রায়রিটি কিউ C++ প্রোগ্রামে


এই টিউটোরিয়ালে আমরা C++-তে সেট (set) ব্যবহার করে একটি ডবল-এন্ডেড প্রায়রিটি কিউ তৈরি করব।

ডবল-এন্ডেড কিউ তৈরির ধাপগুলো:

  • আপনার ইচ্ছামতো নামে একটি struct তৈরি করুন।

  • সেট ব্যবহার করে কিউ-এর জন্য একটি ভেরিয়েবল তৈরি করুন।

  • size মেথড যা কিউ-এর আকার রিটার্ন করে।

  • is_empty মেথড যা কিউ খালি কিনা তা রিটার্ন করে।

  • insert মেথড যা কিউ-তে নতুন উপাদান ইনসার্ট করে।

  • get_start মেথড যা কিউ-এর বাম দিক থেকে একটি উপাদান রিটার্ন করে।

  • get_end মেথড যা কিউ-এর ডান দিক থেকে উপাদান রিটার্ন করে।

  • delete_start মেথড যা বাম দিক থেকে প্রথম উপাদান ডিলিট করে।

  • delete_end মেথড যা ডান দিক থেকে প্রথম উপাদান ডিলিট করে।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

#include <bits/stdc++.h> using namespace std; struct doubleEndedQueue {    set<int> s;    int size() {       return s.size();    }    string is_empty() {       return s.size() == 0 ? "True" : "False";    }    void insert(int x) {       s.insert(x);    }    int get_start() {       return *(s.begin());    }    int get_end() {       return *(s.rbegin());    }    void delete_start() {       if (s.size() == 0) {          return;       }         s.erase(s.begin());    }    void delete_end() {       if (s.size() == 0) {          return;       }       auto end = s.end();       end--;       s.erase(end);    } }; int main() {    doubleEndedQueue d;    cout << "is empty: " << d.is_empty() << endl;    d.insert(1);    d.insert(2);    d.insert(3);    d.insert(4);    d.insert(5);    cout << "is empty: " << d.is_empty() << endl;    cout << "end: " << d.get_end() << endl;    d.delete_end();    cout << "end: " << d.get_end() << endl;    cout << "start: " << d.get_start() << endl;    d.delete_start();    cout << "start: " << d.get_start() << endl;    return 0; }

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:

is empty: True is empty: False end: 5 end: 4 start: 1 start: 2

উপসংহার

টিউটোরিয়াল সম্পর্কে কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানান।


  1. C++ STL-এ প্রায়োরিটি কিউ (Priority Queue)

  2. ডাবলি লিংকড লিস্ট দিয়ে প্রায়োরিটি কিউ বাস্তবায়ন C++-তে

  3. প্রায়োরিটি শিডিউলিং (Priority Scheduling) C++ প্রোগ্রাম

  4. সি++ প্রোগ্রাম: দ্বি-অভিশ্লেষণ (Double Integration) গণনা