当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ map crbegin()、crend()用法及代码示例


  1. map::crbegin()是C++ STL中的内置函数,该函数返回引用映射容器中最后一个元素的常量反向迭代器。由于Map容器以有序的方式包含元素,因此crbegin()将指向根据容器的排序标准排在最后的元素。

    用法:

    map_name.crbegin()
    

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

    返回值:该函数返回一个常量反向迭代器,该迭代器引用映射容器中的最后一个元素。


    // C++ program to illustrate 
    // map::crbegin() function 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // initialize container 
        map<int, int> mp; 
      
        // insert elements in random order 
        mp.insert({ 2, 30 }); 
        mp.insert({ 1, 40 }); 
        mp.insert({ 3, 60 }); 
        mp.insert({ 4, 20 }); 
        mp.insert({ 5, 50 }); 
      
        auto ite = mp.crbegin(); 
        cout << "The last element is {" << ite->first 
             << ", " << ite->second << "}\n"; 
      
        // prints the elements 
        cout << "\nThe map in reverse order is:\n"; 
        cout << "KEY\tELEMENT\n"; 
        for (auto itr = mp.crbegin(); itr != mp.crend(); ++itr) { 
            cout << itr->first 
                 << '\t' << itr->second << '\n'; 
        } 
        return 0; 
    }
    输出:
    The last element is {5, 50}
    
    The map in reverse order is:
    KEY    ELEMENT
    5    50
    4    20
    3    60
    2    30
    1    40
    
  2. map::crend()是C++ STL中的内置函数,该函数返回一个常数反向迭代器,该迭代器指向映射中第一个元素之前的理论元素。由于Map容器按有序方式包含元素,因此,根据容器的排序标准,crend()理论上将指向该元素之前的第一个元素。

    用法:

    map_name.crend()
    

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

    返回值:该函数返回一个常数反向迭代器,该迭代器指向映射中第一个元素之前的理论元素。

    // C++ program to illustrate  
    // map::crend() function 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // initialize container 
        map<int, int> mp; 
      
        // insert elements in random order 
        mp.insert({ 2, 30 }); 
        mp.insert({ 1, 40 }); 
        mp.insert({ 3, 60 }); 
        mp.insert({ 4, 20 }); 
        mp.insert({ 5, 50 }); 
      
        // prints the elements 
        cout << "\nThe map in reverse order is:\n"; 
        cout << "KEY\tELEMENT\n"; 
        for (auto itr = mp.crbegin(); itr != mp.crend(); ++itr) { 
            cout << itr->first 
                 << '\t' << itr->second << '\n'; 
        } 
        return 0; 
    }
    输出:
    The map in reverse order is:
    KEY    ELEMENT
    5    50
    4    20
    3    60
    2    30
    1    40
    


相关用法


注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 map crbegin() and crend() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。