Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Deque crend() trong C++ STL


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