Nhiệm vụ: minh họa hoạt động của deque::crbegin() trong C++.
Deque (double ended queue) cho phép chèn/xóa ở cả hai đầu (front và back) với hiệu năng cao, khác với vector chỉ hiệu năng cao ở cuối (back). Deque cũng cung cấp truy cập ngẫu nhiên. Dù có thể chèn giữa bằng insert() nhưng hiệu năng không tốt bằng vector.
deque::crbegin() là gì?
Deque::crbegin(), với crbegin là constant reverse begin – tức là trả về const_reverse_iterator.
Constant iterator là gì?
Constant iterator không dùng để sửa đổi, mục đích chính là truy cập. Để sửa đổi dùng non-const iterator.
Cú pháp
dequename.crbegin()
Trả về const_reverse_iterator duyệt ngược từ đầu – Trỏ đến phần tử cuối cùng trong container (tức reverse beginning).
Hàm trả về – Một const_reverse_iterator đến vị trí bắt đầu ngược của chuỗi. Kiểu thành viên const_reverse_iterator là reverse random access iterator trỏ đến phần tử const (xem deque member types).
Ví dụ
#include <iostream>
#include <deque>
int main() {
std::deque<int> mydeque = {1,2,3,4,5};
std::cout << "mydeque backwards:";
for (auto rit = mydeque.crbegin(); rit != mydeque.crend(); ++rit)
std::cout << ' ' << *rit;
std::cout << '\n';
return 0;
}
Kết quả
mydeque backwards: 5 4 3 2 1