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


C++ multimap equal_range()用法及代碼示例

multimap::equal_range()是C++ STL中的內置函數,它返回對的迭代器。該對是指範圍的邊界,該範圍包括容器中所有具有等於k的鍵的元素。如果與鍵K不匹配,則返回的範圍的長度為0,兩個迭代器均指向第一個元素,根據容器的內部比較對象(key_comp),第一個元素的鍵被認為在k之後。

用法:

iterator multimap_name.equal_range(key)

參數:此函數接受單個強製性參數鍵,該鍵指定要返回其容器範圍內的元素。


返回值:該函數返回一個成對的迭代器。該對是指範圍的邊界,該範圍包括容器中所有具有等於k的鍵的元素。如果與鍵K不匹配,則返回的範圍的長度為0,兩個迭代器均指向第一個元素,根據容器的內部比較對象(key_comp),該元素的鍵被認為位於k之後。

以下示例程序旨在說明上述方法:

// C++ program to illustrate the 
// equal_range() function 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    // initialize container 
    multimap<int, int> mp; 
    // insert elements in random order 
    mp.insert({ 2, 30 }); 
    mp.insert({ 1, 40 }); 
    mp.insert({ 3, 60 }); 
    mp.insert({ 1, 20 }); 
    mp.insert({ 5, 50 }); 
  
    // Stores the range of key 1 
    auto it = mp.equal_range(1); 
  
    cout << "The multimap elements of key 1 is : \n"; 
    cout << "KEY\tELEMENT\n"; 
  
    // Prints all the elements of key 1 
    for (auto itr = it.first; itr != it.second; ++itr) { 
        cout << itr->first 
             << '\t' << itr->second << '\n'; 
    } 
    return 0; 
}
輸出:
The multimap elements of key 1 is : 
KEY    ELEMENT
1    40
1    20


相關用法


注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 multimap equal_range() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。