大概学完了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;
}