1.单映射
1.单映射,first:键 second:值
2.键唯一,如果重复,相同键插入 会覆盖值。
使用方法:pair<int, string> data(1, "Iloveyou");
1.main
int main() { //单映射 //first:键 second:值 //键唯一,如果重复,相同键插入 会覆盖值。 pair<int, string> data(1, "Iloveyou"); cout << data.first << " " << data.second << endl; return 0; }
2.结果:
2.映射
1.声明映射
//映射 map<string, string> strMap;
2.插入数据的3种方法
//1.插入数据1 strMap["A"] = "abstract"; strMap["B"] = "cool"; strMap["C"] = "book"; //2.插入数据2 strMap.insert(pair<string, string>("D", "wangjianghui")); //3.插入数据3 strMap.insert(make_pair("E", "Ilove"));
3.迭代器输出数据
//迭代器输出数据 map<string, string>::iterator iter; for (iter = strMap.begin(); iter != strMap.end(); iter++) { cout << iter->first << ":" << iter->second << endl; } return 0;
结果:
3.多重映射--》会自动排序,除此之外似乎没啥
1.定义
multimap<int, string> mulMap;
2.插入
mulMap.insert(pair<int, string>(1, "士大夫")); mulMap.insert(pair<int, string>(3, "而高隔热")); mulMap.insert(pair<int, string>(1, "他就要")); mulMap.insert(pair<int, string>(4, "城市的"));
3.输出
multimap<int, string>::iterator mulIter; for (mulIter = mulMap.begin(); mulIter != mulMap.end(); mulIter++) { cout << mulIter->first << ":" << mulIter->second << endl; } cout << endl;
结果:
补充map成员函数:
C++ maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数, (因为key值不会重复,所以只能是1 or 0)
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的函数