双向队列 顾名思义 就是在前后都可以添加删除的队列。
一直以为 这个是由list来实现的 因为感觉一个简单的adapter就可以了
闲来无聊 看stl得代码 发现原来它的实现有点复杂
他有个vector存索引,这个索引里面存的是地址
地址指向了一段内存
这段内存又是一个vector, 而他的元素才是 value_type
感觉不是很好懂 或者我说的太乱了
vector<T*> index;
然后
index的每段里面 是一个
vector<T> real_index;
但是 index并不从第一个元素就启用而是从中间开始 这样子可以在前面加数据
很奇怪的实现
为什么不用双向的链表呢??
谁可以帮我回答下 谢谢 呵呵