您的位置:首页 > 其它

关于STL"set""map"的一些写法

2016-07-12 20:14 330 查看
大概学完了STL最常用的部分,把草稿一样的测试代码贴一下以备不时之需。

战士最仰仗手中的利剑,而ACMER最仰仗自己掌握的语言,要干人必须得先擦亮自己手中的剑吧,不然老是写出一堆bug岂不是很尴尬。

代码:

#include <bits/stdc++.h>
#include <map>
using namespace std;

struct node{
int num;
string str;
friend bool operator<(node a,node b)
{
return a.num<b.num;
}
node(int a,string s):num(a),str(s){}
};

int main()
{
int a;
string str;
node p=node(a,str);//构造函数写法

multiset<string>s;
s.insert("leizhuxi");
s.insert("leizhuxi");
s.insert("caoshao");
s.insert("caobaqian");
set<string>::iterator it1;//貌似set和multiset的iterator可以通用?
for(it1=s.begin();it1!=s.end();++it1)
cout<<*it1<<'\n';
it1=s.begin();
s.erase(*it1);
cout<<"num="<<s.size()<<'\n';
set<string>::reverse_iterator it2;
for(it2=s.rbegin();it2!=s.rend();++it2)
cout<<*it2<<'\n';

map<string,int>M;
M["caolei"]=1;
M["luotong"]=2;
M["myt"]=3;
map<string,int>::iterator it;
for(it=M.begin();it!=M.end();it++)
cout<<it->first<<'\n';
it=M.end();it--;
printf("%d\n",it->second);//map的一些写法

getchar();
getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: