C++ STL中的 deque crend

C++ STL中的 deque crend

deque::crend() 是C++ STL中的内置函数,它返回一个常量反向迭代器,该迭代器指向deque的第一个元素之前的位置。

语法

deque_name.crend()

参数: 此函数不接受任何参数。

返回类型: 此函数返回一个deque的常量反向迭代器。

示例-1:

// C++ program to illustrate the
// deque::crend() function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    deque<int> dq = { 10, 20, 30, 40, 50 };
 
    cout << "The deque in reverse order: \n";
 
    //按相反的顺序打印元素
    for (auto it = dq.crend() - 1; it >= dq.crbegin(); --it)
        cout << *it << endl;
 
    return 0;
} 

输出:

The deque in reverse order: 
10
20
30
40
50

示例-2: 由于迭代器是常量,试图更改它会导致错误。

// C++ program to illustrate the
// deque::crend() function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    deque<char> dq = { 'a', 'b', 'c', 'd', 'e', 'f' };
 
    cout << "The deque in reverse order: \n";
 
    //按相反的顺序打印元素
    for (auto it = dq.crend() - 1; it >= dq.crbegin(); --it)
        *it = 'g'  //编译错误,不可更改常量迭代器
 
    return 0;
}

输出:

Compilation Error in CPP code :- prog.cpp: In function ‘int main()’: prog.cpp:15:13: error: assignment of read-only location ‘it.std::reverse_iterator<_Iterator>::operator* >()’ *it = ‘g’ ^ prog.cpp:17:5: error: expected ‘;’ before ‘return’ return 0; ^

时间复杂度: O(N)。(N是deque的大小)。

辅助空间: O(1)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程