Bài viết trình bày chức năng của hàm rbegin() của deque trong C++ STL.
Deque là gì?
Deque (Double Ended Queue) là hàng đợi hai đầu, là container trình tự cho phép mở rộng và thu hẹp ở cả hai đầu. Khác với queue thông thường chỉ cho phép chèn ở cuối và xóa ở đầu, deque cho phép chèn/xóa ở cả hai đầu.
Hàm rbegin() là gì?
Hàm rbegin() trả về reverse iterator trỏ đến phần tử cuối cùng của deque. Hàm này thường dùng cùng rend() để duyệt deque theo chiều ngược.
Cú pháp − deque_name.rbegin()
Giá trị trả về − Trả về reverse iterator trỏ đến phần tử cuối cùng của deque.
Ví dụ
Đầu vào Deque: 10 9 8 7 6 5 4 3 2 1
Đầu ra Deque ngược: 1 2 3 4 5 6 7 8 9 10
Cách tiếp cận
- Khai báo deque
- In deque
- Dùng rbegin() kết hợp rend() để duyệt ngược
- In deque sau khi duyệt ngược
Ví dụ 1
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<int> dq = {5, 4, 0, 8, 5};
cout << "Deque: ";
for(auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
cout << "\nReversed deque: ";
for(auto x = dq.rbegin(); x != dq.rend(); ++x)
cout << *x << " ";
return 0;
}
Kết quả
Deque: 5 4 0 8 5 Reversed Deque: 5 8 0 4 5
Ví dụ 2
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<char> dq = {'P', 'R', 'O', 'D', 'U', 'C', 'T'};
cout << "Deque: ";
for(auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
cout << "\nReversed deque: ";
for(auto x = dq.rbegin(); x != dq.rend(); ++x)
cout << *x << " ";
return 0;
}
Kết quả
Deque: P R O D U C T Reversed deque: T C U D O R P