首页 > 代码库 > C++ multimap 的插入,遍历,删除

C++ multimap 的插入,遍历,删除

#include <iostream>
#include <map>
#include <string>

using namespace std;

int main()
{
	multimap<string, string> authors;

	// 插入元素, 引入的头文件是 map
	authors.insert(make_pair(
		string("Evin"),   // 这个是 Key
		string("Hi")));

	authors.insert(make_pair(
		string("Evin"),   // 跟上面的一样,是同一个key
		string("Hello")));

	
	typedef multimap<string, string>::const_iterator mmap_cit;

	// 第一种遍历方式
	mmap_cit beg = authors.lower_bound("Evin");
	mmap_cit end = authors.upper_bound("Evin");

	while(beg != end)
	{
		cout<<beg->second<<endl;
		++beg;
	}

	// 第二种遍历方式
	pair<mmap_cit, mmap_cit> pos = authors.equal_range("Evin");

	while(pos.first != pos.second)
	{
		cout<<pos.first->second<<endl;
		++pos.first;
	}

	cout<<authors.erase("Evin")<<endl;    // erase 返回删除的元素个数

	return 0;
}


利用 multimap 可以做到一个key, 同时对应多个value


C++ multimap 的插入,遍历,删除