এই আর্টিকেলে আমরা C++ STL-এ deque::crend() ফাংশনের কার্যকারিতা দেখব।
Deque কী?
Deque (Double Ended Queue) হলো সিকোয়েন্স কন্টেইনার যা উভয় দিক থেকে এক্সপ্যানশন এবং কন্ট্রাকশনের কার্যকারিতা প্রদান করে। সাধারণ কিউতে ডেটা শুধু শেষে ইন্সার্ট এবং সামনে থেকে ডিলিট করা যায়, কিন্তু ডিকে উভয় দিকেই ইন্সারশন এবং ডিলিশন সম্ভব।
deque::crend() ফাংশনটি ডিকের প্রথম এলিমেন্টের ঠিক আগের এলিমেন্টকে নির্দেশকারী একটি const_reverse_iterator রিটার্ন করে, যা রিভার্স ইটারেশনের শেষ বিবেচিত হয়।
সিনট্যাক্স
deque_name.crend()
রিটার্ন ভ্যালু
ডিকের const_reverse_iterator রিটার্ন করে।
উদাহরণ ইনপুট-আউটপুট
Input: Deque: 5 4 3 2 1 Output: Deque in reverse order: 1 2 3 4 5
অ্যাপ্রোচ
- ডিক ডিক্লেয়ার করুন।
- ডিক প্রিন্ট করুন।
crend()ফাংশন ব্যবহার করে রিভার্স প্রিন্ট করুন।
উদাহরণ ১
// C++ code to demonstrate the working of deque::crend()
#include <iostream>
#include <deque>
using namespace std;
int main() {
// declaring the deque
deque<int> dq = { 5, 4, 3, 2, 1 };
// print the deque
cout << "Deque: ";
for (auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
// printing deque in reverse order using crend()
cout << "\nDeque in reverse order: ";
for (auto x = dq.crbegin(); x != dq.crend(); ++x) // crbegin() থেকে crend() পর্যন্ত
cout << *x << " ";
return 0;
}
আউটপুট
Deque: 5 4 3 2 1 Deque in reverse order: 1 2 3 4 5
উদাহরণ ২: ক্যারেক্টার ডিক
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<char> dq = { 'L', 'A', 'P', 'T', 'O', 'P' };
cout << "Deque: ";
for (auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
cout << "\nDeque in reverse order: ";
for (auto x = dq.crbegin(); x != dq.crend(); ++x)
cout << *x << " ";
return 0;
}
আউটপুট
Deque: L A P T O P Deque in reverse order: P O T P A L
সংশোধন: মূল কোডে deque.crend() - 1 এবং x >= deque.begin() ব্যবহার করা হয়েছিল, যা রিভার্স ইটারেটর জন্য সঠিক নয়। সঠিকভাবে crbegin() থেকে crend() পর্যন্ত লুপ চালানো উচিত। হেডার ফাইলও <deque.h> নয়, <deque>।