#include <stdio.h>
#include <stdlib.h>
typedef struct noh {
int valor;
struct noh *esquerda;
struct noh *direita;
} no;
void espacos(int depth) {
while (depth) {
depth--;
}
}
void desenha(no *arvore, int depth) {
espacos(depth);
if (arvore == NULL) {
return;
}
printf("%d\n", arvore
->valor
); desenha(arvore->esquerda, depth + 1);
desenha(arvore->direita, depth + 1);
}
void arvbin(no *arvore) {
desenha(arvore, 0);
}
int main() {
no n1, n2, n3, n4, n5, n6;
n1.valor = 555;
n2.valor = 333;
n3.valor = 888;
n4.valor = 111;
n5.valor = 444;
n6.valor = 999;
n1.esquerda = &n2;
n1.direita = &n3;
n2.esquerda = &n4;
n2.direita = &n5;
n3.esquerda = NULL;
n3.direita = &n6;
n4.esquerda = NULL;
n4.direita = NULL;
n5.esquerda = NULL;
n5.direita = NULL;
n6.esquerda = NULL;
n6.direita = NULL;
arvbin(&n1);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnR5cGVkZWYgc3RydWN0IG5vaCB7CiAgICBpbnQgdmFsb3I7CiAgICBzdHJ1Y3Qgbm9oICplc3F1ZXJkYTsKICAgIHN0cnVjdCBub2ggKmRpcmVpdGE7Cn0gbm87Cgp2b2lkIGVzcGFjb3MoaW50IGRlcHRoKSB7CiAgICB3aGlsZSAoZGVwdGgpIHsKICAgICAgICBwcmludGYoIiAgICIpOwogICAgICAgIGRlcHRoLS07CiAgICB9Cn0KCnZvaWQgZGVzZW5oYShubyAqYXJ2b3JlLCBpbnQgZGVwdGgpIHsKICAgIGVzcGFjb3MoZGVwdGgpOwogICAgaWYgKGFydm9yZSA9PSBOVUxMKSB7CiAgICAgICAgcHJpbnRmKCItXG4iKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBwcmludGYoIiVkXG4iLCBhcnZvcmUtPnZhbG9yKTsKICAgIGRlc2VuaGEoYXJ2b3JlLT5lc3F1ZXJkYSwgZGVwdGggKyAxKTsKICAgIGRlc2VuaGEoYXJ2b3JlLT5kaXJlaXRhLCBkZXB0aCArIDEpOwp9Cgp2b2lkIGFydmJpbihubyAqYXJ2b3JlKSB7CiAgICBkZXNlbmhhKGFydm9yZSwgMCk7Cn0KCmludCBtYWluKCkgewogICAgbm8gbjEsIG4yLCBuMywgbjQsIG41LCBuNjsKICAgIG4xLnZhbG9yID0gNTU1OwogICAgbjIudmFsb3IgPSAzMzM7CiAgICBuMy52YWxvciA9IDg4ODsKICAgIG40LnZhbG9yID0gMTExOwogICAgbjUudmFsb3IgPSA0NDQ7CiAgICBuNi52YWxvciA9IDk5OTsKICAgIG4xLmVzcXVlcmRhID0gJm4yOwogICAgbjEuZGlyZWl0YSA9ICZuMzsKICAgIG4yLmVzcXVlcmRhID0gJm40OwogICAgbjIuZGlyZWl0YSA9ICZuNTsKICAgIG4zLmVzcXVlcmRhID0gTlVMTDsKICAgIG4zLmRpcmVpdGEgPSAmbjY7CiAgICBuNC5lc3F1ZXJkYSA9IE5VTEw7CiAgICBuNC5kaXJlaXRhID0gTlVMTDsKICAgIG41LmVzcXVlcmRhID0gTlVMTDsKICAgIG41LmRpcmVpdGEgPSBOVUxMOwogICAgbjYuZXNxdWVyZGEgPSBOVUxMOwogICAgbjYuZGlyZWl0YSA9IE5VTEw7CiAgICBhcnZiaW4oJm4xKTsKICAgIHJldHVybiAwOwp9