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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。