কম্পিউটার

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


এই নিবন্ধে আমরা C++ STL-এ deque::operator=এবং deque::operator[]-এর কাজ, বাক্য গঠন এবং উদাহরণ নিয়ে আলোচনা করব।

ডেক কি?

Deque হল ডাবল এন্ডেড কিউ যা সিকোয়েন্স কন্টেইনার যা উভয় প্রান্তে প্রসারণ এবং সংকোচনের কার্যকারিতা প্রদান করে। একটি সারি ডেটা স্ট্রাকচার ব্যবহারকারীদের শুধুমাত্র শেষ প্রান্তে ডেটা সন্নিবেশ করতে এবং ফ্রন্ট থেকে ডেটা মুছতে দেয়। চলুন বাস স্টপে সারিগুলির সাদৃশ্য গ্রহণ করা যাক যেখানে ব্যক্তিকে শুধুমাত্র END থেকে একটি সারিতে ঢোকানো যেতে পারে এবং সামনে দাঁড়ানো ব্যক্তিকে প্রথমে সরানো হবে যেখানে ডাবল এন্ডেড সারিতে ডেটা সন্নিবেশ এবং মুছে ফেলা উভয়ই সম্ভব। শেষ।

deque::operator =?

কি

deque::operator =ইতিমধ্যে বিদ্যমান মানগুলি প্রতিস্থাপন করে deque কন্টেইনারে নতুন মান নির্ধারণ করতে ব্যবহৃত হয়। এই অপারেটর নতুন মান অনুযায়ী deque কন্টেইনারের আকার পরিবর্তন করে।

সিনট্যাক্স

mydeque1 = mydeque2;

এটির জন্য একই ধরণের আরেকটি ডিক কন্টেইনার প্রয়োজন৷

রিটার্ন মান

অপারেটর ফেরত দেয় *ডিক কন্টেইনারের এই পয়েন্টারটি যার ডেটা আমরা বরাদ্দ করতে চাই।

উদাহরণ

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[postion];

এটির জন্য একটি অবস্থানের প্রয়োজন যা আমরা আনতে চাই৷

রিটার্ন মান

এই অপারেটরটি নির্দিষ্ট অবস্থানে উপস্থিত উপাদানটির একটি সরাসরি রেফারেন্স প্রদান করে।

উদাহরণ

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. STL-এ C++ এ deque front( ) এবং deque back( )

  2. STL-এ C++-এ deque push_back( )

  3. STL-এ C++-এ deque_resize( )

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