关于map
简介
- 又称映射,是键值对,第一个元素为键,第二个为值
- 例如定义⼀个字符串 string 类型的⼈名为“键”,学号 int 类型为“值”,如 map<string, int> m
- map内部是自动排序的
- 可以修改实值,而不能修改key。
map的定义与大小
-
map<type 1,type 2> maps; 第一个是键的类型,第二个是值的类型
-
Int nSize = mapStudent.size();//大小
map元素的插入
-
用insert函数插入
map.insert(pair<int, string>(1, "student_one"));
-
用数组方式插入
mapStudent[1] = "student_one";
map的访问
-
通过下标进行访问 如:maps[‘c’]=5;
-
对map进行遍历
//用迭代器遍历 for (auto it = m.begin(); it != m.end(); it++) cout << it->first << " " << it->second << endl; //用数组方式遍历 for(int nindex = 1; nindex <= nSize; nindex++) cout<<mapStudent[nindex]<<endl;
常用函数
begin() 返回指向map头部的迭代器 clear() 删除所有元素
count() 返回指定元素出现的次数 empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器 erase() 删除一个元素
find() 查找一个元素 insert() 插入元素
lower_bound() 返回键值>=给定元素的第一个位置 max_size() 返回可以容纳的最大元素个数
size() 返回map中元素的个数 swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数