gpt4 book ai didi

c++ - 创建一个节点指针数组

转载 作者:行者123 更新时间:2023-11-27 23:02:30 25 4
gpt4 key购买 nike

  struct Node {
int data; // The data being stored at the node
Node *next; // Pointer to the next node
};

int main()
{
Node **nodeArray = new (Node*)[5];
}

第一个问题:

main 中的语句是否是创建包含 5 个 Node * 的数组的有效方法?

main 和 Node **nodeArray = new Node*[5]; 中的语句有什么区别? Main 目前给我一个错误:在带括号的 type-id 之后禁止数组绑定(bind) |

第二个问题:

我将如何遍历数组并为它们中的每一个做一个新的?我使用过数组和链表,但将它们放在一起似乎比我想象的要棘手。

最佳答案

如果您知道最多需要 5 个项目,您应该使用静态分配,因为它速度更快,而且您不必担心重新分配数组。

Node* array[SOME_CONST];
for (int i=0; i < SOME_CONST; i++)
{
array[i] = new Node()
cout<<array[i];
}

对于动态分配的数组来说几乎是一回事,你只需要意识到指针 new 返回指向数组中的第一项。

Node** array = new Node*[some_num];
for (int i=0; i < some_num; i++)
{
array[i] = new Node();
}

不要忘记正确释放:

for (int i=0; i < some_num; i++)
{
delete array[i];
}
delete[] array;

关于c++ - 创建一个节点指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26373694/

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