Deque কী?
Deque হল ডাবল এন্ডেড কিউ যা সিকোয়েন্স কন্টেইনার যেগুলো দুটি এন্ডে এক্সপ্যানশন এবং কন্ট্র্যাকশনের ফাংশনালিটি প্রদান করে। একটি কিউ ডেটা স্ট্রাকচার ইউজারকে শুধু END-এ ডেটা ইনসার্ট এবং FRONT থেকে ডেটা ডিলিট করার অনুমতি দেয়। বাস স্টপের কিউর аналоги ধরিয়ে দেখলে ব্যক্তি কিউর END-এ থেকে ইনসার্ট হতে পারে এবং FRONT-এ দাঁড়ানো ব্যক্তিটি প্রথমে রিমুভ হবে, যেখানে ডাবল এন্ডেড কিউতে ডেটার ইনসারশন এবং ডিলিশন উভয় এন্ডেই সম্ভব।
deque::at() কী?
deque::at() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন যা
সিনট্যাক্স
mydeque.at(int position);
প্যারামিটার
এই ফাংশন এক প্যারামিটার গ্রহণ করে, সেটা হল वो পজিশন যেখানে আমরা পয়েন্ট করতে চাই।
রিটার্ন ভ্যালু
এটি ডিক কন্টেইনারের নির্দিষ্ট পজিশনে থাকা এলিমেন্টের একটি রেফারেন্স রিটার্ন করে।
উদাহরণ
Input: deque<int> mydeque = {10, 20, 30, 40}; mydeque.at(2);
আউটপুট
Element at 2 positions is 30.
সম্পূর্ণ কোড উদাহরণ
#include <deque>
#include <iostream>
using namespace std;
int main() {
deque<int> myDeque;
myDeque.push_back(90);
myDeque.push_back(80);
myDeque.push_back(70);
myDeque.push_back(60);
myDeque.push_back(50);
myDeque.push_back(40);
myDeque.push_back(30);
myDeque.push_back(20);
myDeque.push_back(10);
for (int i = 0; i < myDeque.size(); ++i) {
if (i % 2 == 0) {
cout << myDeque.at(i);
cout << " ";
}
}
return 0;
}
আউটপুট
90 70 50 30 10
deque::swap() কী?
deque::swap() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন যা
সিনট্যাক্স
mydeque1.swap(type_t& mydeque2);
প্যারামিটার
এই ফাংশন এক প্যারামিটার গ্রহণ করে, অর্থাৎ সেই ডিকের রেফারেন্স যার ডেটা আমরা সংশ্লিষ্ট ডিকের সাথে সওয়াপ করতে চাই।
রিটার্ন ভ্যালু
এটি কিছুই রিটার্ন করে না।
উদাহরণ
Input: deque<int> even = {2, 4, 6, 8}; deque<int> odd = {1, 3, 5, 7}; even.swap(odd); Output: Even deque: 1 3 5 7 Odd deque: 2 4 6 8
সম্পূর্ণ কোড উদাহরণ
#include <deque>
#include <iostream>
using namespace std;
int main() {
deque<int> Deque_1 = { 1, 2, 3, 4 };
deque<int> Deque_2 = { 3, 5, 7, 9 };
Deque_1.swap(Deque_2);
cout << "Deque_1 elements after swapping : ";
for (auto i = Deque_1.begin(); i < Deque_1.end(); ++i)
cout << *i << " ";
cout << endl << "Deque_2 elements after swapping : ";
for (auto i = Deque_2.begin(); i < Deque_2.end(); ++i)
cout << *i << " ";
return 0;
}
আউটপুট
Deque_1 elements after swapping : 3 5 7 9 Deque_2 elements after swapping : 1 2 3 4