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

C++ STL-এ deque::operator= এবং deque::operator[]

Deque কী?

Deque হল ডাবল এন্ডেড কিউ যা সিকোয়েন্স কন্টেইনার যেগুলো দুটি এন্ডে এক্সপ্যানশন এবং কন্ট্র্যাকশনের ফাংশনালিটি প্রদান করে। একটি কিউ ডেটা স্ট্রাকচার ইউজারকে শুধু END-এ ডেটা ইনসার্ট এবং FRONT থেকে ডেটা ডিলিট করার অনুমতি দেয়। বাস স্টপের কিউর аналоги ধরিয়ে দেখলে ব্যক্তি কিউর END-এ থেকে ইনসার্ট হতে পারে এবং FRONT-এ দাঁড়ানো ব্যক্তিটি প্রথমে রিমুভ হবে, যেখানে ডাবল এন্ডেড কিউতে ডেটার ইনসারশন এবং ডিলিশন উভয় এন্ডেই সম্ভব।

deque::operator= কী?

deque::operator= ব্যবহার করা হয় ডিক কন্টেইনারে নতুন ভ্যালু অ্যাসাইন করতে ইতিমধ্যে এক্সিস্টিং ভ্যালুগুলো রিপ্লেস করে। এই অপারেটর ডিক কন্টেইনারর সাইজও নতুন ভ্যালু অনুযায়ী মডিফাই করে।

সিনট্যাক্স

mydeque1 = mydeque2;

এটি একই টাইপের অন্য একটি ডিক কন্টেইনার দরকার।

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

অপারেটরটি ডিক কন্টেইনারর *this পয়েন্টার রিটার্ন করে যার ডেটা আমরা অ্যাসাইন করতে চাই।

উদাহরণ

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

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

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

int main() {
    deque<int> Deque_1 = { 10, 20, 30 };
    deque<int> Deque_2 = { 30, 20, 10 };
    deque<int> Deque_3 = {};
    // it will swap the elements of both the deque
    Deque_3 = Deque_2;
    Deque_2 = Deque_1;
    Deque_1 = Deque_3;
    cout << "Elements in Deque_1 are: ";
    for (auto i = Deque_1.begin(); i != Deque_1.end(); ++i)
        cout << ' ' << *i;
    cout << "\nElements in Deque_2 are: ";
    for (auto i = Deque_2.begin(); i != Deque_2.end(); ++i)
        cout << ' ' << *i;
    return 0;
}

আউটপুট

Elements in Deque_1 are: 30, 20, 10
Elements in Deque_2 are: 10 20 30

deque::operator[] কী?

deque::operator[] একটি নির্দিষ্ট লোকেশনে থাকা এলিমেন্ট অ্যাক্সেস করতে ব্যবহৃত হয়। এই অপারেটর []-তে দেওয়া লোকেশনে থাকা এলিমেন্টের একটি রেফারেন্স রিটার্ন করে। এটি deque::at()-এর মতোই কাজ করে। যখন আমরা কন্টেইনারের বাইরের একটি এলিমেন্ট পজিশন রিকোয়েস্ট করি, তবে অপারেটর out_of_range এক্সেপশন থ্রো করে। ডিক কন্টেইনারের পজিশন শুরুতে 0 থেকে শুরু হয়।

সিনট্যাক্স

mydeque[position];

এটি সেই পজিশনটি রিকোয়ার করে যা আমরা ফেচ করতে চাই।

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

এই অপারেটর নির্দিষ্ট পজিশনে উপস্থিত এলিমেন্টের একটি ডায়রেক্ট রেফারেন্স রিটার্ন করে।

উদাহরণ

Input: deque<int> mydeque = {1, 2, 3, 4, 5, 6}; mydeque[2]; Output: 3

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

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

int main() {
    deque<int> Deque = {10, 20, 30, 40, 50};
    cout << "Elements are : ";
    for (int i = 0; i < Deque.size(); ++i) {
        if (i % 2 != 0) {
            cout << Deque[i];
            cout << " ";
        }
    }
    return 0;
}

আউটপুট

Elements are : 20 40
  1. C++ STL-এ deque front() এবং deque back() ফাংশন

  2. C++ STL-এ deque push_back() ফাংশন

  3. C++ STL-এ deque resize() ফাংশন

  4. C++ STL-এ deque assign() ফাংশন