gpt4 book ai didi

c# - STL双端队列是作为循环链表实现的吗?

转载 作者:太空宇宙 更新时间:2023-11-04 14:35:40 26 4
gpt4 key购买 nike

我无法找到双端队列如何在 C++ STL 中实现的内部机制。

我之前在某个地方读到它在 C# 中是作为循环列表实现的。 C++ STL 也是如此吗?另外,您能解释一下为什么会这样吗?

编辑:C++ STL,我指的是 Visual Studio C++ 2010 附带的 STL 库,以及 gcc 附带的库

最佳答案

没有。它的实现方式允许有一些变化,但循环链表肯定符合条件。

在大多数实现中(包括 VC++,可能还有 gcc),它基本上是一个指向数据 block 的指针数组。当您添加数据时,它通常只是将其添加到现有数据 block 中。当现有 block 变满时,它会分配一个新 block ,将其添加到您要插入的数组的末尾,然后将您的数据添加到其中。当/如果基本数组空间不足时,它会分配一个新空间并将指针复制到那里。

关于c# - STL双端队列是作为循环链表实现的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5559431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com