use*_*913 10 c tree pointers data-structures
我想构建一个具有以下特征的树:
我在想一个看起来像这样的结构:
struct tree {
int value;
struct tree* nextnode;
struct tree** childnode;
};
Run Code Online (Sandbox Code Playgroud)
必须对每个节点处的子节点数进行参数化.我不知道该怎么做.提前致谢!
编辑:让我尝试使用一个例子来定义它:让我们采取起始节点.现在,我将在编译时定义将有3个NextNodes
,每个NextNodes
将有2个ChildNodes
.这是在Depth=0
.在Depth = 1
(即对于每个子节点Depth=0
),我指定将有4个,NextNodes
并且对于每个子节点NextNodes
将有3个ChildNodes
,依此类推.希望我能够正确地传达它.请问我是否在某处不清楚.
Edit2:这是一张照片:
小智 1
这是一棵N叉树。我建议你拆分树和节点
typedef struct tree tree;
typedef struct node node;
struct tree {
node * root;
};
struct node {
int value;
node * next_node;
};
Run Code Online (Sandbox Code Playgroud)
现在您可以执行树结构的所有操作
这是一个例子
node * add_child(node *parent, int child_value){
node * child = malloc(sizeof(node));
child->value = child_value;
if(parent->next == NULL)
parent->next = child;
else{
node * temp = parent->next;
while(temp->next != NULL)
temp = temp->next;
temp->next = child;
}
return child;
}
Run Code Online (Sandbox Code Playgroud)