STL——map
Posted tonyyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL——map相关的知识,希望对你有一定的参考价值。
map可以当做一个容器(装载具有一定格式的数据);pair可以理解为元素(放入到容器的的每个个体),pair并没有单独行动的典型用法,正常都是配合map来使用(即把pair这个元素插入到map这个容器里面)。
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
#include <bits/stdc++.h> using namespace std; int main() { map<int,string> map1; map<string,int> map2; map<int,bool> map3; map<int,string>::iterator iter1; map<string,int>::iterator iter2; //map插入操作 map1.insert(pair<int,string>(1,"one")); map1.insert(pair<int,string>(2,"two")); map1.insert(pair<int,string>(3,"three")); map2["a"] = 1; map2["aa"] = 2; map2["aaa"] = 3; //查看map的大小 cout<<"map1的大小为"<<map1.size()<<endl; //map数据的遍历 for(int i=1;i<=map1.size();i++){ cout<<map1[i]<<" "; } cout<<endl; for(iter2 = map2.begin();iter2 != map2.end() ; iter2++){ cout<<iter2->first<<" "<<iter2->second<<endl; } //map数据的查找(只能查找key值) iter1 = map1.find(2); if(iter1 != map1.end()){ cout<<"find 2"<<endl; } //map数据删除 包括迭代器删除和成片删除和完全删除 iter1 = map1.find(1); map1.erase(iter1); map1.erase(map1.begin(),map1.end()); map1.clear(); return 0; }
以上是关于STL——map的主要内容,如果未能解决你的问题,请参考以下文章