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);

 

posted @ 2019-08-13 16:50  DreamingBligo_Tido  阅读(248)  评论(0编辑  收藏  举报