C++星火04_关联容器map

来源:互联网 发布:ubuntu 中文环境 编辑:程序博客网 时间:2024/04/30 04:03
map是STL的一个关联容器,他提供一一对应的数据处理能力(第一个为关键字,第二个为对应的值),并且能保证容器中的数据有序


用法(用一个班级中学生的学号和姓名进行举例)


1 创建
map<int, string> mapStudent;

2 清空
mapStudent.clear();

3 插入数据
3.1 直接插入
3.1.1 用pair<>()

mapStudent.insert(pair<int, string>(16, "qiao"));


3.1.2 用map<int, string>::value_type()
mapStudent.insert(map<int, string>::value_type(5, shuying))

3.2 插入并判断是否成功
pair<map<int, string>, bool> pairResult;
pairResult = mapStudent.insert(pair<int, string>(23, "huan"));
if(!pairResult)
{
cout << "Opps, failed to insert element" << endl;
}

4 遍历数据
4.1 正序
map<int, string>::iterator itr;
for(itr = mapStudent.begin(); itr != mapStudent.end(); itr++)
{
cout << itr->first << " " << itr.second << endl; 
}

4.2 逆序
map<int, string>::iterator itr;
for(itr = mapStudent.rbegin(); itr != mapStudent.rend(); itr++)
{
cout << itr->first << " " << itr.second << endl; 
}

5 查找
itr = mapStudent.find(23);
if(itr != mapStudent.end())
{
cout << itr.first << " " << itr.second << endl;
}

6 大小

int nSize = mapStudent.size();

7 删除

mapStudent.erase(itr);

原创粉丝点击