我想用 C 编程语言制作一个如下图所示的二叉树。
制作具有两个节点的二叉树的结构是这样的-
struct node {
int data;
struct node* left;
struct node* right;
};
但是要制作一个有多个 child 的树,结构每次都需要改变,那么有什么办法可以制作一个每次都改变的结构吗?
最佳答案
你可以这样定义一个节点:
struct node
{
int data;
node *firstChild;
node *nextSibling;
};
然后,
第一个 child 以这种方式访问:myNode->firstChild
第二个 child :myNode->firstChild->nextSibling
第 N 个 child :myNode->firstChild->nextSibling->...->nextSibling
这将涉及在遍历子节点时进行空检查和迭代。
关于c - 具有多个子节点和两个指向左右的节点的二叉搜索树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46988202/