C ++ set crbegin()函数用于返回一个常量反向迭代器,该迭代器引用set容器中的最后一个元素。
set的常量反向迭代器沿反向移动并递增,直到到达set容器的开头(第一个元素)并指向常量元素。
const_reverse_iterator crbegin() const noexcept; //since C++ 11
没有
它返回一个常量反向迭代器,该迭代器指向集合的最后一个元素。
没有
它返回一个常数反向迭代器,该迭代器指向多图的最后一个元素。
不变。
没有变化。
容器被访问。
同时访问集合的元素是安全的。
此函数从不抛出异常。
让我们看一下crbegin()函数的简单示例:
#include <iostream> #include <set> using namespace std; int main () { set<int> myset = {50,20,40,10,30}; cout << "myset以相反的顺序:"; for (auto rit=myset.crbegin(); rit != myset.crend(); ++rit) cout << ' ' << *rit; cout << '\n'; return 0; }
输出:
myset以相反的顺序: 50 40 30 20 10
在上面的示例中,使用crbegin()函数返回一个常量反向迭代器,该迭代器指向myset集中的最后一个元素。
因为set因此按键的排序顺序存储元素,所以对set进行迭代将导致上述顺序,即键的排序顺序。
让我们看一个简单的示例,使用while循环以相反的顺序遍历集合:
#include <iostream> #include <set> #include <string> #include <iterator> using namespace std; int main() { // 创建和初始化一组字符串 & int set<string> setEx = {"bbb", "ccc", "aaa", "ddd"}; //创建一个set迭代器并指向set的末尾 set<string>::const_reverse_iterator it = setEx.crbegin(); // 使用迭代器遍历集合直到开始。 while (it != setEx.crend()) { //从它所指向的元素访问键。 string word = *it; cout << word << endl; // 增加迭代器以指向下一个条目 it++; } return 0; }
输出:
ddd ccc bbb aaa
在上面的示例中,我们使用while循环以相反的顺序对集合进行const_iterate,并使用crbegin()函数初始化集合的最后一个元素。
因为set因此按键的排序顺序存储元素,所以对set进行迭代将导致上述顺序,即键的排序顺序。
让我们看一个简单的示例,以获取反向集合的第一个元素:
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> s1 = {20,40,10,30}; auto ite = s1.crbegin(); cout << "反向集s1的第一个元素是: "; cout << *ite; return 0; }
输出:
反向集s1的第一个元素是: 40
在上面的示例中,crbegin()函数返回反向集s1的第一个元素,即40。
让我们看一个简单的示例来对最高分进行排序和计算:
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> marks = {400, 220, 300, 250, 365}; cout << "Marks" << " | " << "Roll Number" << '\n'; cout<<"______________________\n"; set<int>::const_reverse_iterator rit; for (rit=marks.crbegin(); rit!=marks.crend(); ++rit) cout << *rit<< '\n'; auto ite = marks.crbegin(); cout << "\n最高分数是: "<< *ite<<" \n"; return 0; }
输出:
Marks | Roll Number ______________________ 400 365 300 250 220 最高分数是: 400
在上面的示例中,实现了一个集合标记,其中该集合的元素存储为键。函数crbegin()使我们能够利用集合中的自动排序功能,并识别最高分数。