C++ STL 中的 multiset rbegin() 和 rend() 函数
- multiset::rbegin() 是 C++ STL 中的内置函数,它返回指向 multiset 容器中最后一个元素的反向迭代器。 语法:
reverse_iterator multiset_name.rbegin()
参数: 该函数不接受任何参数。
返回值: 该函数返回指向容器中最后一个元素的反向迭代器。下面的程序说明了 multiset::rbegin() 方法:
// CPP program to demonstrate the
// multiset::rbegin() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = { 15, 12, 15, 11, 10, 10 };
// 从数组初始化集合
multiset<int> s(arr, arr + 6);
multiset<int>::reverse_iterator rit;
// 按相反的顺序打印所有元素
for (rit = s.rbegin(); rit != s.rend(); rit++)
cout << *rit << " ";
cout << "\n多重集合中的最后一个元素是 " << *(s.rbegin());
return 0;
}
输出:
15 15 12 11 10 10
多重集合中的最后一个元素是 15
multiset::rend() 是 C++ STL 中的内置函数,它返回指向 multiset 容器中第一个元素之前的理论元素的反向迭代器。
语法:
reverse_iterator multiset_name.rend()
参数: 该函数不接受任何参数。
返回值: 该函数返回指向 multiset 容器中第一个元素之前的理论元素的反向迭代器。下面的程序说明了 multiset::rend() 函数:
// CPP program to demonstrate the
// multiset::rend() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = { 15, 13, 15, 11, 13, 10 };
// 从数组初始化集合
multiset<int> s(arr, arr + 6);
multiset<int>::reverse_iterator rit;
// 按相反的顺序打印所有元素
for (rit = s.rbegin(); rit != s.rend(); rit++)
cout << *rit << " ";
return 0;
}
输出:
15 15 13 13 11 10
让我们以表格形式了解一下它们之间的区别:
ID | multiset rbegin() | multiset rend() |
---|---|---|
1. | 用于返回指向容器中最后一个元素的反向迭代器 | 用于返回指向 multiset 容器中第一个元素之前的理论元素的反向迭代器 |
2. | 其语法为:reverse_iterator rbegin(); | 其语法为:reverse_iterator rend(); |
3. | 该函数不接受任何参数。 | 该函数不接受任何参数。 |
4. | 其复杂度是常数。 | 其复杂度不变。 |
5. | 其迭代器有效性不变。 | 其迭代器有效性不变。 |