mulitset,mulitmap

来源:互联网 发布:衬衣品牌 知乎 编辑:程序博客网 时间:2024/05/17 01:33

multiset 的意思是多重集合,和集合set的操作基本一致,只不过multiset支持插入重复的对象。在集合中允许重复的元素出现。头文件依旧还是#include<set>

multimap的意思是多重映照容器,和map的操作基本一致,类似的multimap支持插入相同的键值。头文件和map的头文件一样。

下面是学校OJ的一个关于multimap的简单使用的题,只有插入和删除:

#include<iostream>#include<set>#include<string>#include<cstdio>using namespace std;int main(){   // freopen("1.txt", "w", stdout);    int n;    multiset<int> s;    string str;    while(cin >> n && n)    {        for(int i=0;i<n;i++)        {            cin >> str;            if(str == "i")            {                int a;                cin >> a;                s.insert(a);            }            else if(str == "d")            {                int a;                cin >> a;                for(multiset<int>::iterator it=s.begin();it!=s.end();it++)                    if(*it == a)                    {                        s.erase(it);                        break;                    }            }        }        for(multiset<int>::iterator it=s.begin();it!=s.end();++it)        {            if((++it) != s.end())            {                --it;                cout << *it << " ";            }            else            {                --it;                cout << *it;            }        }        cout << endl;        s.clear();    }    return 0;}


0 0
原创粉丝点击