map
是 C++ 标准库中的一个关联容器,用于存储键值对,键是唯一的,且按键的升序排列。
m[key] = value
:将键key
对应的值设置为value
。m.insert({key, value})
:将键值对{key, value}
插入到map
中。m.erase(key)
:从map
中删除键为key
的元素。m.count(key)
:返回map
中键为key
的元素个数。m.find(key)
:返回指向map
中键为key
的元素的迭代器,如果key
不存在则返回m.end()
。m.lower_bound(key)
:返回指向map
中第一个不小于key
的元素的迭代器。m.upper_bound(key)
:返回指向map
中第一个大于key
的元素的迭代器。
unordered_map
是 C++ 标准库中的一个关联容器,用于存储键值对,键是唯一的。
umap[key] = value
:将键key
对应的值设置为value
。umap.insert({key, value})
:将键值对{key, value}
插入到unordered_map
中。umap.erase(key)
:从unordered_map
中删除键为key
的元素。umap.count(key)
:返回unordered_map
中键为key
的元素个数。umap.find(key)
:返回指向unordered_map
中键为key
的元素的迭代器,如果key
不存在则返回umap.end()
。umap.size()
:返回unordered_map
中元素的个数。
set
是 C++ 标准库中的一个关联容器,用于存储唯一的元素。
set<int> nums;
nums.insert(x)
:将元素 x 插入到集合 nums 中。nums.erase(x)
:从集合 nums 中删除元素 x。nums.count(x)
:返回集合 nums 中元素 x 的个数。nums.find(x)
:返回指向集合 nums 中元素 x 的迭代器,如果 x 不存在则返回nums.end()
。nums.lower_bound(x)
:返回指向集合 nums 中第一个不小于 x 的元素的迭代器。
emplace_back
是 C++ 标准库中 std::vector
、std::deque
、std::list
等容器的一个成员函数,用于在容器的末尾直接构造一个元素,而不是先创建一个临时对象再插入。这样可以避免不必要的拷贝或移动操作,提高效率。
queue
是 C++ 标准库中的一个容器适配器,用于实现先进先出(FIFO)的队列。
queue<int> q;
q.push(x)
:将元素 x 入队。q.pop()
:将队首元素出队。q.front()
:返回队首元素的引用。q.back()
:返回队尾元素的引用。q.empty()
:检查队列是否为空,返回布尔值。q.size()
:返回队列中元素的个数。
priority_queue
是 C++ 标准库中的一个容器适配器,用于实现优先队列。
priority_queue<int> pq;
pq.push(x)
:将元素 x 入队,并按优先级排序。pq.pop()
:将优先级最高的元素出队。pq.top()
:返回优先级最高的元素的引用。pq.empty()
:检查优先队列是否为空,返回布尔值。pq.size()
:返回优先队列中元素的个数。
stack
是 C++ 标准库中的一个容器适配器,用于实现后进先出(LIFO)的栈。
stack<int> s;
s.push(x)
:将元素 x 压入栈顶。s.pop()
:弹出栈顶元素。s.top()
:返回栈顶元素的引用。s.empty()
:检查栈是否为空,返回布尔值。s.size()
:返回栈中元素的个数。