Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- typedef struct no {
- int conteudo;
- struct no *esq, *dir;
- } Arvore;
- Arvore *insereNaArvoreBinaria(Arvore *raiz, Arvore *r, int conteudo) {
- if (!r) {
- r = (Arvore *)malloc(sizeof(Arvore));
- if (!r) {
- printf("\n\nSEM MEMORIA!! Programa finalizado!\n");
- exit(0);
- }
- r->esq = NULL;
- r->dir = NULL;
- r->conteudo = conteudo;
- if (!raiz) {
- printf("\nna primeira insercao\n");
- return r; //primeira entrada
- }
- if (conteudo == raiz->conteudo)
- printf("\nnumero jah cadastrado\n");
- else if (conteudo < raiz->conteudo) raiz->esq = r;
- else raiz->dir = r;
- return r;
- }
- if (conteudo < r->conteudo) {
- printf("\nfui pra esquerda\n");
- insereNaArvoreBinaria(r, r->esq, conteudo);
- }
- else {
- printf("\nfui pra direita\n");
- insereNaArvoreBinaria(r, r->dir, conteudo);
- }
- }
- int main(){
- Arvore *arvore;
- int conteudo;
- char op;
- arvore = NULL;
- do{
- system("clear");
- printf("::: Menu \n");
- printf("1 - Inserir");
- switch(op){
- case'1':
- printf("\nInserindo na arvore...\n");
- printf("\nDigite um numero: ");
- scanf("%d", &conteudo);
- if(!arvore)
- arvore = insereNaArvoreBinaria(arvore, arvore, conteudo);
- else insereNaArvoreBinaria(arvore, arvore, conteudo);
- getchar();
- break;
- case '8':
- break;
- default:
- printf("\nOpcao invalida!\n\n");
- getchar();
- }while(op != '8');
- }
- }
Add Comment
Please, Sign In to add comment