文章目录
- 1. vector
- 2. list
- 3. deque(双端队列)
- 4. 使用场景
1. vector
- 🐧
vector的内存是连续的,支持随机访问;
2. list
- 🐧
list的底层结构是双向链表,存储是不连续的,随机插入和删除的效率高, - 🐧
list需要维护两个指针,一个指针指向前一个元素,另外一个指针指向后一个元素,内存消耗大;
3. deque(双端队列)
- 🐧
deque底层是连续的,可以把deque看成是vector和list的结合版。 - 🐧
deque提供两级数据结构,第一级完全类似vector,代表实际容量,另一级维护容器的首位地址;
优点:
<1>支持两端进行插入和删除数据;
<2>支持随机访问;
4. 使用场景
- ⚽①需要随机访问数组并且不需要考虑插入和删除的效率时,使用
vector; - 🏀②需要频繁的插入和删除操作,并且不需要随机访问,使用
list; - 🏐③需要随机存储,且关心两端数据的插入和删除操作,则应该使用
deque;
