C++语法基础--关联容器--map(二)--查找并读取map中的元素count(),find()与 从map对象中删除元素erase()
来源:互联网 发布:mac做java开发工具 编辑:程序博客网 时间:2024/05/18 22:45
1.查找并读取map中的元素count(),find()
*对于map对象,count成员的返回值只能是0或1
原型:
iterator find (const key_type& k);
const_iterator find (const key_type& k) const
size_type count (const key_type& k) const;
eg:
int main ()
{
map<string,int> mymap;
map<string,int>::iterator it;
mymap["jack"]=18;
{
cout<<mymap["tom"]<<endl;;
}
it=mymap.find("jack"); //返回"jack"在mymap中的迭代器
cout<<it->first<<": "<<it->second<<endl; //验证返回的迭代器
mymap.find("lily"); //mymap并不存在"lily"的键,返回end()迭代器,但并不会插入"lily"的键值
for(it=mymap.begin();it!=mymap.end();it++)
{
cout<<it->first<<": "<<it->second<<endl;
}
return 0;
}
运行结果:
2. 从map对象中删除元素
原型:
void erase (iterator position);
size_type erase (const key_type& k);
void erase (iterator first, iterator last);
eg:
int main ()
{
map<string,int> mymap;
map<string,int>::iterator it;
mymap["jack"]=18;
mymap["tom"]=19;
mymap["jany"]=17;
mymap["rose"]=20;
mymap["lily"]=16;
cout<<"before erase: "<<endl;
for (it=mymap.begin(); it!=mymap.end(); ++it)
{
cout << it->first << " => " << it->second << '\n';
}
it=mymap.find("tom");
mymap.erase (it); // erasing by iterator
mymap.erase ("rose"); // erasing by key
it=mymap.find ("jany");
mymap.erase ( it, mymap.end() ); // erasing by range
cout<<"after erase: "<<endl;
for (it=mymap.begin(); it!=mymap.end(); ++it)
{
cout << it->first << " => " << it->second << '\n';
}
return 0;
}
运行结果:
*对于map对象,count成员的返回值只能是0或1
原型:
iterator find (const key_type& k);
const_iterator find (const key_type& k) const
size_type count (const key_type& k) const;
eg:
int main ()
{
map<string,int> mymap;
map<string,int>::iterator it;
mymap["jack"]=18;
cout<<mymap["rose"]<<endl; //直接使用下标的弊端:mymap并不存在"rose"的键,
//但是却把"rose"插入了mymap
if(mymap.count("tom")) //mymap并不存在"tom"的键,返回0{
cout<<mymap["tom"]<<endl;;
}
it=mymap.find("jack"); //返回"jack"在mymap中的迭代器
cout<<it->first<<": "<<it->second<<endl; //验证返回的迭代器
mymap.find("lily"); //mymap并不存在"lily"的键,返回end()迭代器,但并不会插入"lily"的键值
for(it=mymap.begin();it!=mymap.end();it++)
{
cout<<it->first<<": "<<it->second<<endl;
}
return 0;
}
运行结果:
2. 从map对象中删除元素
原型:
void erase (iterator position);
size_type erase (const key_type& k);
void erase (iterator first, iterator last);
eg:
int main ()
{
map<string,int> mymap;
map<string,int>::iterator it;
mymap["jack"]=18;
mymap["tom"]=19;
mymap["jany"]=17;
mymap["rose"]=20;
mymap["lily"]=16;
cout<<"before erase: "<<endl;
for (it=mymap.begin(); it!=mymap.end(); ++it)
{
cout << it->first << " => " << it->second << '\n';
}
it=mymap.find("tom");
mymap.erase (it); // erasing by iterator
mymap.erase ("rose"); // erasing by key
it=mymap.find ("jany");
mymap.erase ( it, mymap.end() ); // erasing by range
cout<<"after erase: "<<endl;
for (it=mymap.begin(); it!=mymap.end(); ++it)
{
cout << it->first << " => " << it->second << '\n';
}
return 0;
}
运行结果:
- C++语法基础--关联容器--map(二)--查找并读取map中的元素count(),find()与 从map对象中删除元素erase()
- C++ map关联容器删除元素
- C++ 10.3.6 查找并读取map中的元素
- c++map查找元素
- 删除map中的元素
- C++ 关联容器之map插入相同键元素与查找元素操作
- C++ 10.3.7 从map对象中删除元素
- 从map对象中删除元素的操作
- map常用成员(关联容器)----创建map<主键,主键对应的值>,增insert,删erase,改查找find,然后修改second,遍历iterator,获取元素个数size,判空empty
- 读取Map集合中的元素
- 关联式容器map/multimap之元素个数统计、查找元素及元素的随机访问
- Map遍历与删除元素
- map 中删除指定元素
- 删除map容器中指定的元素
- 关于容器Map删除元素的常见问题
- 关联式容器map/multimap之初始化、删除元素、交换元素及清空操作
- C++ STL map 删除一个元素 erase() 操作
- C++MAP关联容器
- 链表的操作
- ld
- 为数据中心选择正确的网络管理系统
- 解析调用接口内容和构建接口请求xml
- 第八章 例8.5
- C++语法基础--关联容器--map(二)--查找并读取map中的元素count(),find()与 从map对象中删除元素erase()
- ubuntu11.10版本系统root权限获取问题
- servlet文件的压缩 HttpServlet
- HDOJ--1872--稳定排序【排序算法】
- Thread Local Storage
- 【jiasuba】U盘问题不用愁 加速吧为你来解决
- javascript 闭包基础分享
- window.showModalDialog() 模态对话框
- HDU 2001 计算两点间的距离