在 C++ STL 中multiset crbegin() 和 crend() 函数
multiset::crbegin() 是 C++ STL 中的一个内置函数,它返回一个常量反向迭代器,该迭代器指向容器中的最后一个元素。该迭代器不能用于修改 multiset 容器中的元素。可以增加或减少迭代器以相应地遍历 set。
语法:
constant_reverse_iterator multiset_name.crbegin()
参数: 该函数不接受任何参数。
返回值: 函数返回一个常量迭代器,该迭代器指向容器中的最后一个元素。
下面的程序演示了multiset::crbegin()方法。
// C++ program to demonstrate the
// multiset::crbegin() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = { 14, 10, 15, 11, 10 };
// initializes the set from an array
multiset<int> s(arr, arr + 5);
cout << "The last element: " << *(s.crbegin()) << endl;
// prints all elements in set
for (auto it = s.crbegin(); it != s.crend(); it++)
cout << *it << " ";
return 0;
}
输出:
The last element: 15
15 14 11 10 10
multiset::crend() 是 C++ STL 中的一个内置函数,它返回一个常量反向迭代器,该迭代器指向容器中第一个元素之前的位置。该迭代器不能用于修改 multiset 容器中的元素。可以增加或减少迭代器以相应地遍历 set。
语法:
constant_reverse_iterator multiset_name.crend()
参数: 该函数不接受任何参数。
返回值: 该函数返回一个常量迭代器,该迭代器指向 multiset 容器中第一个元素之前的位置。
下面的程序演示了multiset::crend()方法。
// C++ program to demonstrate the
// multiset::crend() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = { 14, 12, 15, 11, 10, 10, 16, 16 };
// initializes the set from an array
multiset<int> s(arr, arr + 8);
// prints all elements in set
for (auto it = s.crbegin(); it != s.crend(); it++)
cout << *it << " ";
return 0;
}
输出:
16 16 15 14 12 11 10 10
时间复杂度: O(1)
辅助空间: O(1)