是否有任何已经创建的结构,它只是双向链表节点
的基本数组
?
我的意思是,然后您使用 get(int index)
它将直接从数组 (array[i].element
) 返回元素。有了这个结构,我也可以轻松地执行 foreach,因为每个元素都会相互链接,所以我不需要考虑空白数组的位置。
问:为什么我需要这个? A:我有无限的内存,我知道我需要多大的数组,我希望那个结构最快。
最佳答案
这是一个小型C++11 容器指南,只需设置您的约束并按照箭头操作即可:
海事组织std::deque
是最有可能的候选人。
如果您想自己创建一些东西,这里有一个示例:
struct Node{
// constructor
Node (int v, Node* n = 0, Node* p = 0)
: value(v), next(n), prev(p) { }
// data member
int value;
// pointer to next node
Node* next;
// pointer to previous node
Node* prev;
};
size_t number_of_nodes = 10;
Node* ptr = new Node[number_of_nodes];
关于c++ - 哪种数据结构类似于双向链表和数组的组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34996799/