Bài viết này trình bày chức năng của hàm deque::crend() trong C++ STL.
Deque là gì?
Deque (Double Ended Queue) là container trình tự cung cấp khả năng mở rộng và thu hẹp ở cả hai đầu. Khác với queue thông thường (chèn cuối, xóa đầu), deque cho phép chèn/xóa ở cả hai đầu.
Hàm deque::crend() trả về const_reverse_iterator trỏ đến phần tử trước phần tử đầu tiên của deque (coi như cuối ngược).
Cú pháp
deque_name.crend()
Giá trị trả về
Trả về const_reverse_iterator của deque.
Ví dụ minh họa
Input: Deque: 5 4 3 2 1 → Output: Deque ngược: 1 2 3 4 5
Input: Deque: 75 45 33 77 12 → Output: Deque ngược: 12 77 33 45 75
Cách tiếp cận
- Khai báo deque.
- In deque.
- Dùng
crend()để duyệt ngược.
Ví dụ code 1
// C++ code demo deque::crend()
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<int> dq = {5, 4, 3, 2, 1};
cout << "Deque: ";
for (auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
cout << "\nDeque ngược: ";
for (auto x = dq.crend() - 1; x >= dq.begin(); --x)
cout << *x << " ";
return 0;
}
Kết quả
Deque: 5 4 3 2 1 Deque ngược: 1 2 3 4 5
Ví dụ code 2
#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 ngược: ";
for (auto x = dq.crend() - 1; x >= dq.begin(); --x)
cout << *x << " ";
return 0;
}
Kết quả
Deque: L A P T O P Deque ngược: P O T P A L