১৪-৬ঃ Queue এর STL লাইব্রেরি

এতক্ষন আমরা Queue , একদম Raw ভাবে কোনো STL এর সাহায্য না নিয়ে ইমপ্লিমেন্ট করেছি। এর মাধ্যমে একটি Queue internally কীভাবে কাজ করে , কীভাবে অপারেশন গুলা চলে তা আমরা জানতে পেরেছি। যেহেতু একে ময়না তদন্ত করা শেষে আমরা Queue এর সব বিষয় গুলা জেনেছি , এখন আমরা শিখবো কীভাবে STL Queue এর সাহায্যে কোনো Raw কোড না লিখে শুধু মাত্র Standard Libray and Templates ব্যবহার করে শুধু ফাংশন কলের মাধ্যমে Queue তৈরি করা থেকে শুরু করে সব অপারেশন গুলো করতে পারি তা শিখবো। যেহেতু আমরা আগের মডিউলে STL vector , STL List এইসব সম্পর্কে শেখার সময় জেনেছি , STL গুলা ব্যবহারের ক্ষেত্রে এদের ফাংশন গুলো কীভাবে কল করতে হয় , কীভাবে এক্সেস করতে হয় তা জানা লাগে , এবং তা জানতে পারলে আমরা খুব সহজে ঐ builtin ডাটা স্ট্রাকচার গুলো ব্যবহার করতে পারবো , তাই STL Queue ব্যবহারের জন্য আমরা STL Queue এর সব builtin ফাংশন গুলো জেনে নিবো। প্রথমে দেখে নেয়া যাক কীভাবে Initalize করতে হয়ঃ queue < data_type > queue_name ;

1 . q. push() -> এই function এর মাধ্যমে আমরা Queue এর শেষে একটি ভ্যালু Insertion করতে পারি। 2. q.front() -> এই function এর সাহায্যে আমরা Queue এর শুরুতে কোন ভ্যালু আছে তা জানতে পারি।

3. q.pop() -> এই function এর মাধ্যমে আমরা Queue তা বা লাইনে সবার শুরুতে যে ভ্যালু আছে তা Queue থেকে মুছে দিতে পারি।

4. q.size() -> এই function এর মাধ্যমে আমরা Queue তে কতটি ভ্যালু আছে তা জানতে পারি।

  1. q.empty() -> এই ফাংশনের সাহায্যে আমরা দেখতে পারি Queue খালি কিনা। খালি হলে true রিটার্ন করবে , আর শেষ না হলে False রিটার্ন করবে।

#include <bits/stdc++.h>
using namespace std;
int main()
{
    queue<int> q; // int ডাটা টাইপের একটি queue ডিক্লেয়ার করলাম 
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        int x;
        cin >> x;
        q.push(x); // ভ্যালু x , push ফাংশনের মাধ্যমে queue তে পুশ করলাম 
    }
    cout << q.size() << endl; // queue এর সাইজ কতো চেক করলাম 
   
    while (!q.empty()) // queue , empty কিনা চেক করছি। 
    {
        cout << q.front() << endl; // queue এর front এর ভ্যালু রিটার্ন করবে
        q.pop(); // queue এর প্রথম ভ্যালুটি queue থেকে রিমুভ করে দিবে 
    }
    return 0;
}

Last updated