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


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