Ir para conteúdo

JoJoba2018

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre JoJoba2018

  1. JoJoba2018

    Árvore AVL código

    Então, estava desenvolvendo o meu código de árvore AVL para minha prova da faculdade, mas em um teste percebi que não estava mostrando os dados inseridos, mas caso eu tirasse a estrutura de repetição a impressão era feita com sucesso, então peço ajuda de vocês para resolver esse meu problema. Segue abaixo o código. #include <iostream> #include <malloc.h> #include <locale.h> using namespace std; typedef struct no{ int chave; struct no* esquerda, *direita; }; no* CriaNo(int v){ no* NovaChav = (no*) malloc(sizeof(no)); NovaChav->esquerda = NULL; NovaChav->direita = NULL; NovaChav->chave = v; return NovaChav; } no* AdcionaNO(no* arvore, int v){ if(arvore == NULL){ return CriaNo(v); } if(arvore->chave > v){ arvore->esquerda = AdcionaNO(arvore->esquerda, v); }else{ arvore->direita = AdcionaNO(arvore->direita, v); } return arvore; } void ImprimeArv(no* arvore){ // cout<<"<"<<endl; if(arvore != NULL){ cout<<arvore->chave<<endl; ImprimeArv(arvore->esquerda); ImprimeArv(arvore->direita); } //cout<<">"<<endl; } int main() { setlocale(LC_ALL, "PORTUGUESE"); int op=0, numb; no* raiz = NULL; //raiz = AdcionaNO(raiz, 5); while(op!=1){ cout<<"Escolha uma função:"<<endl; cout<<"1-Sair"<<endl; cout<<"2-Inserir valor"<<endl; cin>>op; ImprimeArv(raiz); switch(op){ case 2: cout<<"Adcionar um valor à árvore"<<endl; cout<<"Qual o valor a ser inserido?"<<endl; cin>>numb; AdcionaNO(raiz, numb); } } return 0; }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.