當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。