以下のコードは、ルートとその子だけで動作することを理解していますが、展開方法はわかりません。すべてのノードには、「孫」を渡す前に子供がいなければなりません。ありがとうございました。Cのツリーを右から左に挿入するには?
void insert_node(IndexTree **root, Node *node) {
IndexTree *temp = (IndexTree*)malloc(sizeof(IndexTree));
memcpy(&temp->value.cs, node, sizeof(Node));
temp->left = NULL;
temp->right = NULL;
temp->tip=1;
if ((*root) == NULL) {
*root = temp;
(*root)->left = NULL;
(*root)->right = NULL;
}
else {
while (1) {
if ((*root)->right == NULL) {
(*root)->right = temp;
break;
}
else if ((*root)->left == NULL) {
(*root)->left = temp;
break;
}
}
}
ノードを固定順序で配置するだけなので、これは実際にはツリーではなく配列です。 – stark