プログラミングcでバイナリツリーを実装しようとしていました。それは価値だけを取っていますが、期待どおりの結果を表示していません。バイナリツリーを実装するのに必要な助け。ここでは私が長年試しているコードを追加しました。プログラミングのバイナリツリーインプリメンテーションコードの問題
#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node*left;
struct node*right;
};
int i,parent;
struct node*root=NULL;
struct node*newnode,*temp[];
void display(struct node*);
void display(struct node *root)
{
if(root != NULL){
printf("%d\t",root->data);
display(root->left);
display(root->right);
}
}
void add(int num)
{
for(i=0;i<num;i++)
{
newnode=(struct node*)malloc(sizeof(struct node));
newnode->left=newnode->right=NULL;
newnode->data=i+1;
if(i==0)root=newnode;continue;
parent=(i-1)/2;
if(i%2==0)temp[parent]->right=newnode;
else temp[parent]->left=newnode;
}
}
int main()
{
int num;
printf("enter a binary number:");
scanf("%d",&num);
display(root);
}
'add 'を呼び出さないと何が表示されるのですか? – Leeor
どのような要件、バランスのとれた木、ソートされたもの、何か他のですか? – danh
ダンバランスツリー –