map的基本操作函数:
C++Maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数
一个使用map的例子:
#include <map>
#include <string>
#include <iostream>
using namespace std;
void map_insert(map<string, string>* mapStudent, string index, string x)
{
mapStudent->insert(map<string, string>::value_type(index, x));
}
int main(int argc, char* argv[])
{
char tmp[32] = "";
map<string, string> mapS;
//insert element
map_insert(&mapS, "192.168.0.128", "xiong");
map_insert(&mapS, "192.168.200.3", "feng");
map_insert(&mapS, "192.168.200.33", "xiongfeng");
map<string, string>::iterator iter;
cout<<"We Have Three Elements:"<<endl;
cout<<"----------------------"<<endl;
//find element
iter = mapS.find("192.168.0.33");
if (iter != mapS.end())
{
cout<<"find the element"<<endl;
cout<<"It is:"<<iter->second<<endl;
}
else
{
cout<<"not find the element:192.168.0.33.";
}
//see element
cout<<"Here is all of the element"<<endl;
for (iter = mapS.begin();iter!=mapS.end();iter++)
{
cout<<"|"<<iter->first<<"|"<<iter->second<<"|"<<endl;
}
cout<<"----------------------"<<endl;
//insert another
map_insert(&mapS, "192.168.30.23", "xf");
cout<<"After we insert one element:"<<endl;
cout<<"----------------------"<<endl;
for (iter = mapS.begin();iter!=mapS.end();iter++)
{
cout<<"|"<<iter->first<<"|"<<iter->second<<"|"<<endl;
}
cout<<"----------------------"<<endl;
//delete element
iter = mapS.find("192.168.200.33");
if (iter!=mapS.end())
{
cout<<"find the element:"<<iter->first<<endl;
cout<<"delete the element:"<<iter->first<<endl;
cout<<"===================="<<endl;
mapS.erase(iter);
}
else
{
cout<<"not find the element"<<endl;
}
for (iter = mapS.begin();iter!=mapS.end();iter++)
{
cout<<"|"<<iter->first<<"|"<<iter->second<<"|"<<endl;
}
cout<<"----------------------"<<endl;
return 0;
}
来源:oschina
链接:https://my.oschina.net/u/920274/blog/4498122