Advertisement

253-C++ STL中的双端队列库

阅读量:

1.双端队列

双端队列是一种可以在两端执行入队与出队操作的数据结构,并非仅限于单一方向的数据处理能力。它既可以向头部插入数据并进行删除操作(front insertion and deletion),也可以向尾部插入数据并进行删除操作(rear insertion and deletion)。这种特性使其在需要灵活数据增删场景中展现出较高的适用性与适应性。

2.双端队列中在面试中问的比较多

面试会问:双端队列是如何设计的?

在这里插入图片描述

3.双端队列在内存中是如何布局的?

存在两个迭代器 named start 和 finish。每个迭代器均包含一个 cur 指针指向下一个插入位置。其中第一个指针 named first 总是指向缓冲区的第一个元素,并且即使没有数据也保持在起始位置。同样地,last 指针总是指向缓冲区的末尾元素,并且即使没有数据也保持在末尾位置。此外还有 node 指针始终指示当前所在的缓冲区节点。start 迭代器定位到所有缓冲区的第一个节点而 finish 迭代器则定位到最后一个节点。

虽然缓冲块之间在物理上并非完全连

全部评论 (0)

还没有任何评论哟~