#include <iostream>
#include <map>
#include<functional>
using namespace std;
/*
multimap多重映照容器:容器的数据结构采用红黑树进行管理
multimap的所有元素都是pair:第一元素为键值(key),不能修改;第二元素为实值(value),可被修改
multimap特性以及用法与map完全相同,唯一的差别在于:
允许重复键值的元素插入容器(使用了RB-Tree的insert_equal函数)
*/
int main()
{
//greater<float> :按key值由大到小排序
multimap<float, char*, greater<float> > mm;
mm.insert(pair<float, char*>(3.0f, "apple"));
mm.insert(pair<float, char*>(3.0f, "pear"));
mm.insert(pair<float, char*>(2.1f, "orange"));
mm.insert(pair<float, char*>(1.5f, "banana"));
multimap<float, char*>::iterator begin, end;
end = mm.end();
for (begin = mm.begin(); begin != end; begin++)
{
cout << (*begin).second << "\t" << (*begin).first << "元/斤" << endl;
}
cout << endl;
cin.get();
return EXIT_SUCCESS;
}
c++STL之multimap
最新推荐文章于 2024-03-12 11:03:37 发布