我正在阅读有关树和3个遍历函数的可能实现(来自:使用C和C ++的数据结构)。 Node结构是:
struct node
{
int info;
node* left;
node* right;
}node;
typedef struct node * nodeptr ;
Preorder遍历的实现采用了类型为node的简单指针:
void preorder(node *root);
但是当涉及到Inorder函数时,它被声明为:
void inorder(nodeptr *root)
如果我没有弄错,而且我在网上查了一下,在这种情况下,nodeptr *意味着**节点对吗? 如果是这种情况,为什么我们为遍历函数声明一个类型为node的双指针?
另一件事,
inorder(root→left);
如果root是类型node的双指针,我们是否可以实际写root-> left来访问它指向的节点的属性? (好像它是一个简单的指针)?
编辑:我只是复制书中所写的内容以及课堂上的内容。我只是很难理解为什么,这就是全部。