fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct no {
  5. int info;
  6. struct no *esq;
  7. struct no *dir;
  8. } Node;
  9.  
  10. Node *insere(Node *arv, int valor) {
  11. if (arv == NULL) {
  12. arv = malloc(sizeof(Node));
  13. arv->info = valor;
  14. arv->esq = NULL;
  15. arv->dir = NULL;
  16. // arv = p;
  17. return arv;
  18. } else if (valor > arv->info) {
  19. arv->dir = insere(arv->dir, valor);
  20. return arv->dir;
  21. } else {
  22. arv->esq = insere(arv->esq, valor);
  23. return arv->esq;
  24. }
  25. }
  26.  
  27. void imprime (Node *arv) {
  28. if (arv != NULL) {
  29. imprime(arv->esq);
  30. printf("\n %d", arv->info);
  31. imprime(arv->dir);
  32. }
  33. }
  34.  
  35. int main (void) {
  36. Node *arv = malloc(sizeof(Node));
  37. arv->info = 1;
  38. arv->dir = NULL;
  39. arv->esq = NULL;
  40. insere(arv, 2);
  41. insere(arv, 3);
  42. imprime(arv);
  43. }
  44.  
  45. //https://pt.stackoverflow.com/q/190689/101
Success #stdin #stdout 0s 4196KB
stdin
Standard input is empty
stdout
 1
 3