0
私はpreorder tranversalを使ってバイナリツリーからリンクリストを作成しようとしています。 私はそれを行う際に非常に多くの問題を抱えています、私はいくつかの "解決策"を見ましたが、私はそれが好きではありませんでした!私は簡単なことを試しています。バイナリツリーからリンクされたリストを作成する(preorder tranversal)
これは私が今まで得たコードです:
typedef struct nodo {
int value;
struct nodo *left, *right;
} *ABin;
typedef struct lligada {
int value;
struct lligada *next;
} *LInt;
void preorder (ABin a, LInt * l) {
LInt r=*l,tmp;
tmp=r;
if (!a) {
*l=NULL;
}
else {
r=malloc(sizeof(struct lligada));
r->value=a->value;
r=r->next;
*l=tmp;
preorder (a->left,l);
preorder (a->right,l);
}
}
私は常に空のリストを取得しています!
ああ、私の悪い!あなたが正しいです。 – Bruno
最初はNULLを指しているはずです。 – Bruno
私は大好きですが、宣言を変更することはできません。それは私の先生によって実装されました。 – Bruno