搜索
您的当前位置:首页C++ STL模板库中multimap::equal_range()的用法

C++ STL模板库中multimap::equal_range()的用法

来源:乌哈旅游

1 multimap::equal_range()介绍

multimap::equal_range()是 C++ STL 中的内置函数,它返回对的迭代器。该对的迭代器是指一个范围的边界,该范围包括容器中具有等效于 k 的键的所有元素。如果没有与键 K 匹配,则返回的范围长度为 0,两个迭代器都指向在 k 之后第一个元素,根据容器的内部比较对象 (key_comp),该元素的键被认为在 k 之后。

句法:  
iterator multimap_name.equal_range(key)
参数:此函数接受单个强制参数键,该键指定要返回容器中其范围的元素。 

返回值:该函数返回对的迭代器。该对是指一个范围的边界,该范围包括容器中具有
等效于 k 的键的所有元素。如果没有与键 K 匹配,则返回的范围长度为 0,两个
迭代器都指向在 k 之后第一个元素,根据容器的内部比较对象 (key_comp),该元
素的键被认为在 k 之后。

2 multimap::equal_range实例

下面的程序说明了上述方法:

// C++ program to illustrate the
// multimap::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

因篇幅问题不能全部显示,请点此查看更多更全内容

Top