【发布时间】:2021-06-27 11:12:21
【问题描述】:
我正在尝试使用中序横向编写代码来横向树结构数据并将所有树节点存储到一个数组中。
void inorderTraversal(AVLTreeNode *node, AVLTreeNode *nodesArray[], int *index)
{
if (node == NULL)
return;
inorderTraversal(node->left, nodesArray, index);
nodesArray[*index] = node;
(*index)++;
inorderTraversal(node->right, nodesArray, index);
}
如果我在主函数中首先声明index,如下所示
int index = 0;
inorderTraversal(tree->root, nodesArray, &index);
但如果我只是在下面这样做,它就行不通了。
inorderTraversal(tree->root, nodesArray, &0);
我怎么能只使用0 传递给函数而不首先在主函数中声明它?
【问题讨论】:
-
如果不使用变量,
index要存放在哪里? -
有没有办法在
inorderTraversal函数中包含变量?
标签: c pointers data-structures tree