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

C++ STL-এ queue::swap() ফাংশন

C++ STL-এ Queue কী?

Queue হল C++ STL-এ ডিফাইন করা একটি সিম্পল সিকোয়েন্স বা ডেটা স্ট্রাকচার যা ডেটার ইন্সারশন এবং ডিলিশন FIFO (First In First Out) ফ্যাশনে করে। একটি কিউতে ডেটা কন্টিনিউয়াস ম্যানারে স্টোর করা হয়। এলিমেন্টগুলো কিউর শেষে ইনসার্ট হয় এবং কিউর শুরু থেকে রিমুভ হয়। C++ STL-এ কিউর একটি প্রিডিফাইনড টেমপ্লেট আছে, যা কিউর অনুরূপ ফ্যাশনে ডেটা ইনসার্ট এবং রিমুভ করে।

queue::swap() কী?

queue::swap() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন যা হেডার ফাইলে ডিক্লেয়ার করা আছে। queue::swap() দুটি কিউ কন্টেইনারের কন্টেন্ট সওয়াপ করতে ব্যবহৃত হয়। এই ফাংশন এক প্যারামিটার গ্রহণ করে, যা অন্য কিউ কন্টেইনার যার সাথে আমরা সংশ্লিষ্ট কিউ কন্টেইনারের কন্টেন্ট সওয়াপ করতে চাই।

সিনট্যাক্স

myqueue1.swap(myqueue2);

এই ফাংশন এক প্যারামিটার গ্রহণ করে, সেটা হল সেকেন্ড কিউ কন্টেইনার যার সাথে আমরা সংশ্লিষ্ট কিউর সাথে সওয়াপ করতে চাই।

রিটার্ন ভ্যালু

এই ফাংশন কিছুই রিটার্ন করে না।

উদাহরণ

Input: queue<int> odd = {1, 3, 5}; queue<int> eve = {2, 4, 6}; Output: Odd: 2 4 6 Eve: 1 3 5

সম্পূর্ণ কোড উদাহরণ

#include <iostream>
#include <queue>
using namespace std;

int main() {
    queue<int> Queue_1, Queue_2;
    for(int i = 0; i <= 5; i++) {
        Queue_1.push(i);
    }
    for(int i = 5; i <= 10; i++) {
        Queue_2.push(i);
    }
    // call swap function
    Queue_1.swap(Queue_2);
    cout << "Element in Queue_1 are: ";
    while (!Queue_1.empty()) {
        cout << ' ' << Queue_1.front();
        Queue_1.pop();
    }
    cout << "\nElement in Queue_2 are: ";
    while (!Queue_2.empty()) {
        cout << ' ' << Queue_2.front();
        Queue_2.pop();
    }
}

আউটপুট

Element in Queue_1 are: 5 6 7 8 9 10
Element in Queue_2 are: 0 1 2 3 4 5
  1. C++-এ অর্ডারলি কিউ (Orderly Queue)

  2. C++ STL-এ স্ট্যাক (Stack)

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

  4. C++-এ swap() ফাংশন