Vin*_*gas 2 c++ data-structures
是否有任何已经创建的结构是简单basic array的doubly linked list nodes?
我的意思是,然后你使用get(int index)它将直接从数组(array[i].element)返回元素。使用这种结构,我也可以轻松地执行 foreach 操作,因为每个元素都会相互链接,因此我不需要考虑空白数组位置。
问:为什么我需要这个?答:我有无限的内存,我知道我需要多大的数组,并且我希望该结构是最快的。
这是一个小型C++11 容器指南,只需设置约束并按照箭头操作即可:
IMOstd::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];
Run Code Online (Sandbox Code Playgroud)