容器适配器

1   适配器的底层没有自己的数据结构,是另一个容器的封装,方法全部依赖底层的数据结构的方法

2  没有实现自己的迭代器

 

例如 stack ----> 底层依赖deque

       queue ----> 底层依赖deque

       priority_queue  ----> 底层依赖vector  默认把数据组织成大根堆

为什么stack,queue依赖deque ,priority_queue 底层依赖vector ?

vector 初始 空间效率使用太低了,不停的2 倍扩容,deque 更具有优势,而deque 出队效率更好,deque 对内存使用更高更好,不需要大量的连续的内存块

priority_queue 会把数据组织成一个大根堆,而大根堆是一棵树,对于左右节点的访问是通过i+1,i+2下标访问的,因此需要连续内存,所以需要vector

 

posted @ 2020-08-31 17:55  睡觉lc  阅读(137)  评论(0编辑  收藏  举报