fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct node {
  5. int categoria;
  6. int atributoOuDecisao;
  7. struct node *prox;
  8. struct node *lista;
  9. } No;
  10.  
  11. No *criaArvore(void) {
  12. No *inicio = malloc(sizeof(No));
  13. inicio->atributoOuDecisao = 0;
  14. inicio->categoria = 99;
  15. inicio->lista = NULL;
  16. inicio->prox = NULL;
  17. return inicio;
  18. }
  19.  
  20. No *criaFilho(No *pai, int atributoDoPai, int categoriaDoFilho, int atributoOuDecisao) {
  21. No *p1 = malloc(sizeof(No));
  22. p1->atributoOuDecisao = atributoOuDecisao;
  23. p1->categoria = categoriaDoFilho;
  24. p1->lista = NULL;
  25. p1->prox = NULL;
  26. if (pai->lista == NULL) {
  27. pai->lista = p1;
  28. } else {
  29. No *aux = pai->lista;
  30. while (aux->prox != NULL) aux = aux->prox;
  31. pai->prox = p1;
  32. }
  33. return p1;
  34. }
  35.  
  36. int main() {
  37. No *arv = criaArvore();
  38. No *aux = criaFilho(arv, 1, 1, 3);
  39. criaFilho(aux, 3, 0, 1);
  40. }
  41.  
  42. //https://pt.stackoverflow.com/q/159198/101
Success #stdin #stdout 0s 4520KB
stdin
Standard input is empty
stdout
Standard output is empty