map set vector用法小总结
1.Map
定义
#include<map> map<string,bool> mp;
插入
//1 mp[s]=1; //2 mp.insert(make_pair(s,1));
输出
cout<<mp[s]; cout<<mp.count(ss);//返回是否存在
遍历
for(map<string,bool>::iterator i=mp.begin();i!=mp.end();i++)//迭代器 printf("%s\n",(i->first).c_str(),i->second); //那个c_str 是强转为char类型的字符数组
2.Set
定义
#include<set> set<string> st;
插入
st.insert(s);
输出
cout<<st.count();//再次申明 这个函数只是返回是否存在
遍历
for(set<string>::iterator i=st.begin();i!=st.end();i++) printf("%s\n",(*i).c_str());
删除
set<string>::iterator it=st.find(ss); if(it!=st.end()) st.erase(st.find(ss));//删除 map的用法是一样的
3.vector
定义
vector<int> v;
插入
v.push_back(x)
删除
v.pop_back();
遍历
for(int i=0;i<v.size();i++) printf("%d\n",v[i]); //做法二:强烈不推荐 for(std::vector<int>::iterator i=v.begin();i!=v.end();i++) printf("%d\n",*i);