
C++之STL容器
文章平均质量分 58
介绍常用的STL容器
画个逗号给明天"
西电机械工程学硕研一在读,记录学习过程中的问题
展开
-
C++STL容器之unordered_map
unordered_map是 C++ 标准库中的一个关联容器,用于存储键值对(key-value pairs)。它基于哈希表实现,提供了平均时间复杂度为 O(1) 的查找、插入和删除操作。与map不同,unordered_map不会对键进行排序,因此它不保证元素的顺序。unordered_map是一个高效的关联容器,适用于需要快速查找、插入和删除键值对的场景。由于它不保证元素的顺序,因此在需要有序存储的情况下,map可能是更好的选择。如有错误,敬请指正!!!原创 2025-02-22 16:52:06 · 528 阅读 · 0 评论 -
C++STL容器之set
set容器是C++标准模板库(STL)中的一个关联容器,用于存储唯一的元素。set中的元素是自动排序的,不允许重复。set通常基于红黑树(一种自平衡二叉查找树)实现,因此插入、删除和查找操作的时间复杂度都为O(log n)。set 是一个非常有用的容器,适用于需要存储唯一元素并且需要快速查找、插入和删除操作的场景。由于它是有序的,因此在需要按顺序处理元素时也非常方便。如有错误,敬请指正!!!原创 2025-02-22 16:11:14 · 429 阅读 · 0 评论 -
C++STL容器之map
map是 C++ 标准模板库(STL)中的一个关联容器,用于存储键值对(key-value pairs)。map中的元素是按照键(key)进行排序的,并且每个键在容器中是唯一的。map通常基于红黑树(一种自平衡二叉查找树)实现,因此插入、删除和查找操作的时间复杂度为 O(log n)。map是一个非常有用的容器,适用于需要根据键快速查找、插入和删除元素的场景。由于它是有序的,因此在需要按顺序处理键值对时也非常方便。如有错误,敬请指正!!!原创 2025-02-21 21:21:19 · 334 阅读 · 0 评论 -
C++STL之string
在C++中,string是标准库中的一个类,用于处理字符串。相比于 C 风格字符串(字符数组),string提供了更强大和便捷的功能。string提供了丰富的功能来操作字符串,包括初始化、修改、查找、比较、转换等。它是 C++ 中处理字符串的首选方式,并避免了 C 风格字符串的许多问题(如内存管理)。如有错误,敬请指正!!!原创 2025-02-21 12:13:30 · 498 阅读 · 0 评论 -
C++STL容器之list
list是标准模版库(STL)提供的一个双向链表容器。它允许在常数时间内进行插入或删除操作,但不支持随机访问。(即不能通过下边直接访问元素)。list是一个序列容器,适合需要频繁插入和删除操作的场景。原创 2025-02-20 10:43:52 · 683 阅读 · 0 评论 -
C++STL容器之deque
deque(双端队列)是C++标准库中的一个容器,支持在队列的两端高效的插入与删除元素。它结合了vector和list的优点。即支持随机访问、又支持高效的双端操作。deque容器作为C++的标准容器之一,是经常被使用的。掌握其用法和特性能够使编写代码事半功倍。如有错误,敬请指正!!!原创 2025-02-20 08:00:00 · 525 阅读 · 0 评论 -
C++STL容器之stack
在C++中,stack是一个容器适配器,它基于其他容器实现,提供了先进后出(LIFO)的数据结构,是C++中常用的标准容器之一,定义在<stack>头文件中。stack是C++中常用的容器之一,掌握其相关用法和特性可以让你在开发代码中事半功倍。如有错误,敬请指正!!!原创 2025-02-19 16:56:19 · 480 阅读 · 0 评论 -
C++STL容器之queue
queue是C++标准库的一个容器适配器,用于实现先进先出(FIFO)的队列数据结构。它基于其他底层容器(如 deque或list)实现,默认使用deque作为底层容器。queue是一个简单易用的先进先出(FIFO)容器适配器, 它支持在队尾插入元素、在队头删除元素,以及访问队头和队尾元素。底层容器:默认使用deque,但可以指定其他容器(如 list)。受限访问:只能访问队头或队尾元素,不能随机访问中间元素。插入与删除:队尾插入与队头删除的时间复杂度为O(1)。先进先出:元素从队尾插入,队头删除。原创 2025-02-13 14:47:03 · 313 阅读 · 0 评论 -
C++STL容器之vector
他提供了动态大小的数组功能,能够自动管理内存,支持快速随机访问,是C++中最常用的容器之一。vector是 C++ 中最常用的动态数组容器,提供了高效的随机访问和动态大小调整功能。内存分配:容量不足,vector会重新分配内存(通常为当前容量的2倍),并将元素赋值到新内存中。自动内存管理:当元素超过当前容量时,vector会自动分配更大的内存空间并复制元素。高效操作:尾插与尾删都是O(1),在中间或头部插入或删除为O(n)。连续存储:元素在内存中是连续存储的,支持随机访问。尾插/尾删:O(1)时间复杂度。原创 2025-02-13 11:18:36 · 345 阅读 · 0 评论