C++ STL中容器的总结

常用容器总结如下:

  • vector:动态数组容器,支持随机访问、尾部插入和删除,适用于需要快速随机访问、增加和删除元素不频繁的场景。

  • list:双向链表容器,支持双向迭代器、插入和删除操作效率高,适用于插入和删除操作频繁的场景。

  • deque:双端队列容器,支持随机访问、头尾插入和删除,适用于需要在头部和尾部频繁插入和删除元素的场景。

  • stack:栈容器,底层使用 dequelist 实现,仅支持在栈顶插入和删除元素,适用于需要后进先出(LIFO)的场景。

  • queue:队列容器,底层使用 dequelist 实现,仅支持在队尾插入,在队头删除元素,适用于需要先进先出(FIFO)的场景。

  • priority_queue:优先队列容器,底层使用堆实现,支持快速查找和删除堆顶元素,适用于需要按照一定优先级处理元素的场景。

  • set:集合容器,底层使用红黑树实现,支持插入、删除和查找元素,且元素按照键值自动排序,适用于需要按照键值排序并且不能有重复元素的场景。

  • map:映射容器,底层使用红黑树实现,支持按照键快速查找、插入和删除值,且元素按照键值自动排序,适用于需要按照键值排序并且不能有重复键的场景。

  • unordered_set:哈希表实现的集合容器,支持快速插入、删除和查找元素,且不保证元素顺序,适用于需要快速查找、插入和删除元素并且不需要顺序的场景。

  • unordered_map:哈希表实现的映射容器,支持按照键快速查找、插入和删除值,且不保证元素顺序,适用于需要快速查找、插入和删除键值对并且不需要顺序的场景。

    扫描二维码关注公众号,回复: 15867617 查看本文章

猜你喜欢

转载自blog.csdn.net/hu853712064/article/details/129767367