#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
0 B
|👍
/👎