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


C++ unordered_multimap begin()、end()用法及代码示例


  1. unordered_multimap::begin()是C++ STL中的内置函数,该函数返回指向容器中第一个元素或其存储桶中的第一个元素的迭代器。

    用法:

    unordered_multimap_name.begin(n)

    参数:该函数接受一个参数。如果传递了参数,则返回指向存储桶中第一个元素的迭代器。如果未传递任何参数,则它将返回一个常量迭代器,该迭代器指向unordered_multimap容器中的第一个元素。

    返回值:它返回一个迭代器。它不能用于更改unordered_multimap元素的值。


    以下示例程序旨在说明上述函数:

    程序1:

    // C++ program to illustrate the 
    // unordered_multimap::begin() function 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // declaration 
        unordered_multimap<int, int> sample; 
      
        // inserts element 
        sample.insert({ 1, 2 }); 
        sample.insert({ 3, 4 }); 
        sample.insert({ 3, 4 }); 
        sample.insert({ 2, 3 }); 
        sample.insert({ 2, 3 }); 
      
        // prints all element 
        cout << "Key and Elements:\n"; 
        for (auto it = sample.begin(); it != sample.end(); it++) 
            cout << "   " << it->first << "\t      "
                 << it->second << endl; 
      
        auto it = sample.begin(); 
      
        // print the first element 
        cout << "\nThe first key and element:"
             << it->first << " "; 
        cout << it->second; 
      
        return 0; 
    }
    输出:
    Key and Elements:
       2          3
       2          3
       1          2
       3          4
       3          4
    
    The first key and element:2 3
    

    程序2:

    // C++ program to illustrate the 
    // unordered_multimap::begin(bucket) function 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // declaration 
        unordered_multimap<int, int> sample; 
      
        // inserts element 
        sample.insert({ 1, 2 }); 
        sample.insert({ 3, 4 }); 
        sample.insert({ 3, 4 }); 
        sample.insert({ 2, 3 }); 
        sample.insert({ 2, 3 }); 
      
        // prints all element 
        cout << "Key and Elements of first bucket:\n"; 
        for (auto it = sample.begin(1); it != sample.end(1); it++) 
            cout << "   " << it->first << "\t      "
                 << it->second << endl; 
      
        auto it = sample.begin(1); 
      
        // print the first element 
        cout << "\nThe first key and element in first bucket:"
             << it->first << " "; 
        cout << it->second; 
      
        return 0; 
    }
    输出:
    Key and Elements of first bucket:
       1          2
    
    The first key and element in first bucket:1 2
    
  2. unordered_multimap::end()是C++ STL中的内置函数,该函数返回一个迭代器,该迭代器指向容器中最后一个元素之后的位置,或指向其存储桶中最后一个元素之后的位置。

    用法:

    unordered_multimap_name.end(n)

    参数:该函数接受一个参数。如果传递了参数,它将返回一个迭代器,该迭代器指向其存储桶中最后一个元素之后的位置。如果未传递任何参数,则它将返回一个迭代器,该迭代器指向unordered_multimap容器中最后一个元素之后的位置。

    返回值:它返回一个迭代器。它不能用于更改unordered_multimap元素的值。

    以下示例程序旨在说明上述函数:

    程序1:

    // C++ program to illustrate the 
    // unordered_multimap::end() function 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // declaration 
        unordered_multimap<int, int> sample; 
      
        // inserts element 
        sample.insert({ 1, 2 }); 
        sample.insert({ 3, 4 }); 
        sample.insert({ 3, 4 }); 
        sample.insert({ 2, 3 }); 
        sample.insert({ 2, 3 }); 
      
        // prints all element 
        cout << "Key and Elements:\n"; 
        for (auto it = sample.begin(); it != sample.end(); it++) 
            cout << "   " << it->first << "\t      "
                 << it->second << endl; 
      
        return 0; 
    }
    输出:
    Key and Elements:
       2          3
       2          3
       1          2
       3          4
       3          4
    

    程序2:

    // C++ program to illustrate the 
    // unordered_multimap::end(bucket) function 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // declaration 
        unordered_multimap<int, int> sample; 
      
        // inserts element 
        sample.insert({ 1, 2 }); 
        sample.insert({ 3, 4 }); 
        sample.insert({ 3, 4 }); 
        sample.insert({ 2, 3 }); 
        sample.insert({ 2, 3 }); 
      
        // prints all element 
        cout << "Key and Elements of first bucket:\n"; 
        for (auto it = sample.begin(1); it != sample.end(1); it++) 
            cout << "   " << it->first << "\t      "
                 << it->second << endl; 
      
        return 0; 
    }
    输出:
    Key and Elements of first bucket:
       1          2
    


相关用法


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