멀티맵 사용 방법

1757 단어
멀티맵은 주로 한 키 값이 여러 개의value에 대응하는 상황에 사용된다. 예를 들어 한 사람이 여러 개의 전화번호를 사용할 수 있고 다른 사용은 간단하다. 주로 어떻게 옮겨다니는지 기록한다.
/*multimap     ,    multimap    key   value         */
#include
#include
#include
#include
using namespace std;
typedef multimap::iterator iter;

int main()
{
	multimap mul_map;
	set name;				// set          
	mul_map.insert(make_pair("tim", 5));
	mul_map.insert(make_pair("tim", 50));
	mul_map.insert(make_pair("tim", 500));
	mul_map.insert(make_pair("jack", 15));
	mul_map.insert(make_pair("jack", 44));
	mul_map.insert(make_pair("hello", 123));
	for (auto x : mul_map)
		name.insert(x.first);
	/********   *********/
	iter m;
	for (auto x : name)
	{
		m = mul_map.find(x);
		cout << x << ": ";
		for (int i = 0; i < mul_map.count(x); i++, m++)
			cout << m->second << " ";
		cout << endl;
	}
	/********   *********/
	iter beg, end;
	for (auto x : name)
	{
		beg = mul_map.lower_bound(x);
		end = mul_map.upper_bound(x);
		cout << x << ": ";
		for (iter i = beg; i != end; i++)
			cout << i->second << " ";
		cout << endl;
	}
	/********   *********/
	for (auto x : name)
	{
		beg = mul_map.equal_range(x).first;//         pair  ,first     lower_bound(key),second     upper_bound(key)
		end = mul_map.equal_range(x).second;
		cout << x << ": ";
		for (iter i = beg; i != end; i++)
			cout << i->second << " ";
		cout << endl;
	}
	return 0;
}

전재 대상:https://www.cnblogs.com/seasonal/p/10343647.html

좋은 웹페이지 즐겨찾기