C++11 中常见 STL 容器的特性及应用场所
时间: 2024-06-04 07:06:23 浏览: 113
C++11中常见STL容器的特性及应用场所如下:
1. vector
特性:动态数组,支持快速随机访问,可在尾部插入或删除元素,内存连续。
应用场所:适用于需要快速随机访问的情境,比如数组替代品,动态数组等。
2. deque
特性:双向队列,支持快速随机访问,可在两端插入或删除元素,内存不一定连续。
应用场所:适用于需要在两端进行插入或删除操作的情境,比如队列,双端队列等。
3. list
特性:双向链表,支持快速插入和删除元素,不支持随机访问,内存不连续。
应用场所:适用于需要快速插入和删除元素,但不需要随机访问的情境,比如链表,哈希表,LRU缓存等。
4. forward_list
特性:单向链表,支持快速插入和删除元素,不支持随机访问,内存不连续。
应用场所:适用于需要快速插入和删除元素,但不需要随机访问的情境,比如链表,哈希表,LRU缓存等。
5. set
特性:基于红黑树的有序集合容器,支持快速查找,插入和删除操作。
应用场所:适用于需要有序存储元素,且需要快速查找、插入和删除元素的情境,比如字典,排序等。
6. map
特性:基于红黑树的有序映射容器,支持快速查找,插入和删除操作。
应用场所:适用于需要有序存储键值对,且需要快速查找、插入和删除元素的情境,比如字典,映射等。
7. unordered_set
特性:基于哈希表的无序集合容器,支持快速查找,插入和删除操作。
应用场所:适用于需要无序存储元素,且需要快速查找、插入和删除元素的情境,比如哈希表,去重等。
8. unordered_map
特性:基于哈希表的无序映射容器,支持快速查找,插入和删除操作。
应用场所:适用于需要无序存储键值对,且需要快速查找、插入和删除元素的情境,比如哈希表,去重等。
阅读全文