目录
1、insert方式插入、[ ] 方式插入、 emplace方式插入
一、描述
C++ STL (Standard Template Library) 中的 map 是一个关联容器,用于存储键值对(key-value pairs),并且这些键值对是按照键的排序顺序存储的。map 内部通常实现为红黑树(一种自平衡二叉查找树),这使得插入、删除和查找操作的时间复杂度都为 O(log n)。
二、定义和初始化
使用std::map 来访问,如果头部信息包含 using namespace std;则不需要std::,可以直接使用map<xx, yy>, xx 和 yy 是变量,可以是同一类型,也可以不是同一类型;
#include <map>
#include <string>
// 定义一个空的map,键为int类型,值为string类型
std::map<int, std::string> myMap;
// 使用初始化列表来定义并初始化map
std::map<int, std::string> myMap = {
{1, "one"}, {2, "two"}, {3, "three"}};
三、插入元素
1、insert方式插入、[ ] 方式插入、 emplace方式插入
// 如果键不存在,则插入新元素;如果存在,则更新对应的值
myMap[4] = "four";
// 插入新的键值对
myMap.insert({5, "five"});
// 直接在map中构造新的元素
myMap.emplace(6, "six");
2、其他方式插入元素
#include <iostream>
#include <map>
int main()
{
std::map<int, std::string> myMap;
// 插入单个元素
myMap.insert(std::make_pair(1, "one"));
// 插入时使用结构化绑定(C++17 及以上)
auto [iterator, success] = myMap.insert({2, "two"});
if (success)
{
std::cout << "Insertion successful: " << iterator->first << " => " << iterator->second << std::endl;
}
else
{
std::cout << "Insertion fai

2351

被折叠的 条评论
为什么被折叠?



