学习总结_STL_map

来源:互联网 发布:win10qq网络不可用 编辑:程序博客网 时间:2024/05/16 17:31
头文件:
<map>

声明:(第一个为键,第二个为值)
map<int,string> m;   //声明一个map容器m
map<int,string>::iterator ite;   //声明一个指向map容器内元素的指针
map<string,int> m;   //此时string为键,int为值
map<node,int> m;   //node为结构体,struct node{int id;string name;};

插入元素:
m.insert(make_pair(1,"Jack"));   //m.insert(make_pair(键,值)),当1号键值已被占用时,此操作无效
m[1]="Jack";   //m[键]=值,当1号键已被占用时,覆盖掉原值,如果声明为map<string,int> m;那么改为m["Jack"]=1;

输出元素:
ite=m.find(1);   //ite->first为键,ite->second为值
cout<<ite->second;   //方式一,string类型不能用printf输出
cout<<m[1];   //方式二


查找元素:
ite=m.find(1);   //m.find(键),返回值是指针,键为1的元素不存在返回m.end(),存在返回指向该元素的指针

删除元素:
m.erase(1);   //m.erase(键)
m.erase(ite);   //m.erase(指针)

其他成员函数:
m.begin();   //m.begin(void),返回值为指向第一个元素的指针
m.clear();   //m.clear(void),清空map容器


0 0