CarlosWGama icon

Estrutura Arvore e Inserir

CarlosWGama | PRO | 10/10/18 01:37:37 AM UTC | 0 ⭐ | 606 👁️ | Never ⏰ | []
C |

1.01 KB

|

None

|

0 👍

/

0 👎

#include <stdio.h>
#include <stdlib.h>
 
struct arvore {
    struct no *raiz;
};
 
struct no {
    struct no *esq;
    int valor;
    struct no *dir;
};
 
 
struct no* inserir(struct no *noAtual, int valor) {
 
    if (noAtual == NULL) {
        struct  no *novoNo = malloc(sizeof(struct no));
        novoNo->valor = valor;
        novoNo->esq = NULL;
        novoNo->dir = NULL;
        return novoNo;
    } else {
        //Decidir o que se vou para esquerda ou direita
        if (valor < noAtual->valor)
            noAtual->esq = inserir(noAtual->esq, valor);
        else
            noAtual->dir = inserir(noAtual->dir, valor);
    }
}
 
 
 
int main() {
    struct arvore *arvore = malloc(sizeof(struct arvore));
    arvore->raiz = NULL;
 
    arvore->raiz = inserir(arvore->raiz, 10);
    arvore->raiz = inserir(arvore->raiz, 7);
    arvore->raiz = inserir(arvore->raiz, 15);
    arvore->raiz = inserir(arvore->raiz, 14);
 
 
    printf("%d", arvore->raiz->dir->esq->valor);
 
    return 0;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎