读书人

multi地图的find如何用

发布时间: 2013-06-26 14:29:32 作者: rapoo

multimap的find怎么用?
multimap<int, int> test;
test.insert(std::make_pair<int, int>(1, 1));
test.insert(std::make_pair<int, int>(2, 10));
test.insert(std::make_pair<int, int>(2, 20));
test.insert(std::make_pair<int, int>(2, 30));

怎么用find把所有key为2的元素找出来??
[解决办法]
http://blog.csdn.net/alex_my/article/details/8296544
可以试试这里的。
[解决办法]

引用:
Quote: 引用:

这里有实例


这个我看过,对我没帮助



// multimap::equal_range
#include <iostream>
#include <map>

int main ()
{
std::multimap<char,int> mymm;

mymm.insert(std::pair<char,int>('a',10));
mymm.insert(std::pair<char,int>('b',20));
mymm.insert(std::pair<char,int>('b',30));
mymm.insert(std::pair<char,int>('b',40));
mymm.insert(std::pair<char,int>('c',50));
mymm.insert(std::pair<char,int>('c',60));
mymm.insert(std::pair<char,int>('d',60));

std::cout << "mymm contains:\n";
for (char ch='a'; ch<='d'; ch++)
{
std::pair <std::multimap<char,int>::iterator, std::multimap<char,int>::iterator> ret;
ret = mymm.equal_range(ch);
std::cout << ch << " =>";
for (std::multimap<char,int>::iterator it=ret.first; it!=ret.second; ++it)
std::cout << ' ' << it->second;
std::cout << '\n';
}

return 0;
}
/**
a => 10
b => 20 30 40
c => 50 60
d => 60
**/

读书人网 >C++

热点推荐