常用容器总结如下:
vector:动态数组容器,支持随机访问、尾部插入和删除,适用于需要快速随机访问、增加和删除元素不频繁的场景。
list:双向链表容器,支持双向迭代器、插入和删除操作效率高,适用于插入和删除操作频繁的场景。
deque:双端队列容器,支持随机访问、头尾插入和删除,适用于需要在头部和尾部频繁插入和删除元素的场景。
stack:栈容器,底层使用 deque 或 list 实现,仅支持在栈顶插入和删除元素,适用于需要后进先出(LIFO)的场景。
queue:队列容器,底层使用 deque 或 list 实现,仅支持在队尾插入,在队头删除元素,适用于需要先进先出(FIFO)的场景。
priority_queue:优先队列容器,底层使用堆实现,支持快速查找和删除堆顶元素,适用于需要按照一定优先级处理元素的场景。
set:集合容器,底层使用红黑树实现,支持插入、删除和查找元素,且元素按照键值自动排序,适用于需要按照键值排序并且不能有重复元素的场景。
map:映射容器,底层使用红黑树实现,支持按照键快速查找、插入和删除值,且元素按照键值自动排序,适用于需要按照键值排序并且不能有重复键的场景。
unordered_set:哈希表实现的集合容器,支持快速插入、删除和查找元素,且不保证元素顺序,适用于需要快速查找、插入和删除元素并且不需要顺序的场景。
unordered_map:哈希表实现的映射容器,支持按照键快速查找、插入和删除值,且不保证元素顺序,适用于需要快速查找、插入和删除键值对并且不需要顺序的场景。
扫描二维码关注公众号,回复: 15867617 查看本文章