STL map,vector常用操作速查

时间:2021-09-02 19:10:29

一.map

例:以学生的学号(int)为key,学生名字(string)为value

 

1.定义

容器:    map<int, string> student;

迭代器:map<int, string>::iterator iter;

 

2.插入记录

student.insert(pair<int, string>(8, “dingdang”));

student.insert(map<int,string>::value_type(8,"dingdang"));

 

3.指定key,查找记录

iter=student.find(8);

if(iter!=student.end())

      cout<<"Found"<<endl;

 

4.遍历记录

for(iter=student.begin();iter!=student.end();iter++)

        cout<<iter->first<<":"<<iter->second<<endl;

 

5.修改记录的value

iter=student.find(8);

iter->second="qq";

 

6.删除记录

iter=student.find(8);

student.erase(iter);


二.vector


1.初始化

vector<int> a(10,-1);    //设定a的大小为10,每位初始化为-1

 

2.插入元素

a.push_back(3);

 

3.返回元素个数

a.size();

 

三.multimap

 

multimap<string,int> strid;

1.查找与key关联的所有value

typedef multimap <string, int
>::const_iterator CIT;

typedef pair<CIT, CIT> Range;

Range range=equal_range("keyStr");

for(CIT iter=range.first; iter!=range.second; iter++)

use(iter->first,iter->second);