void emOrdem(NoAVL<T>* nodo) { if (nodo != NULL) { emOrdem(nodo->getEsquerda()); elementos.push_back(nodo); emOrdem(nodo->getDireita()); } }
void emOrdem(Node* no) { if (no != NULL) { emOrdem(no->sae); printf("%d ", no->valor); emOrdem(no->sad); } }
/** * @brief Método para colocar os nodos da árvore * na lista "elementos" em emOrdem * * @param nodo Árvore que será ordenada */ void emOrdem(NoRB<T>* nodo) { if (nodo != nullptr) { emOrdem(nodo->getEsquerda()); elementos.push_back(nodo); emOrdem(nodo->getDireita()); } }
void emOrdem(NoAVL<T>* nodo) { if (nodo) { emOrdem(nodo->esquerda); elementos.push_back(nodo); emOrdem(nodo->direita); } }
void emOrdem(node *n){ if(n == NULL){ return; } emOrdem(n->esq); printf("[%d]",n->info); emOrdem(n->dir); }
void emOrdem(struct arvore * no){ if(no!=NULL) { emOrdem(no->esq); printf("%d ", no->chave); emOrdem(no->dir); } }
void emOrdem(no* T){ if(T != NULL){ emOrdem(T->esquerdo); printf("%d(Bf=%d) ", T->dado, difAlturaEsq_e_Dir(T)); emOrdem(T->direito); } }
void emOrdem (nodePtr leaf) { if (leaf != NULL) { emOrdem(leaf->left); visita (leaf); emOrdem(leaf->right); } }
void emOrdem(No *arvore) { if(arvore != NULL) { emOrdem(arvore->f0); if(arvore->aresta != 2) { printf("%d ", arvore->aresta); } emOrdem(arvore->f1); } }
void impressao(struct arvore * no){ // Opcao 4 // Imprime os elementos de forma recursiva printf("Pre Ordem\n"); preOrdem(no); printf("\nPos Ordem\n"); posOrdem(no); printf("\nEm Ordem\n"); emOrdem(no); }
void exibeOrdem(Arvore* minhaArvore){ printf("\n#----- Visualizando estrutura da árvore -----#\n"); printf("Árvore pré-ordem: "); preOrdem(minhaArvore->raiz); printf("\nArvore pós-ordem: "); posOrdem(minhaArvore->raiz); printf("\nÁrvore em ordem: "); emOrdem(minhaArvore->raiz); printf("\n"); }
int main() { nodePtr tree=NULL; char word[256]; while( (scanf("%s", word)) != EOF ) tree = worker (word, tree); emOrdem(tree); eraseTree(tree); return 0; }
int main(void){ no *raiz = NULL; int dadosDosElementos, nElementos, i, opcao; do{ printf("\nArvores AVL" "\n1.Criar:" "\n2.Inserir no:" "\n3.Excluir no:" "\n4.Mostrar encaminhamentos:" "\n5.Sair:" "\nInforme sua escolha: "); scanf("%d", &opcao); switch(opcao){ case 1: printf("\nInforme a qtd de elementos que deseja inserir: "); scanf("%d",&nElementos); printf("\nInforme os dados dos nos da arvore:\n"); raiz = NULL; for(i = 0; i < nElementos; i++){ scanf("%d", &dadosDosElementos); raiz = insercao(raiz, dadosDosElementos); } break; case 2: printf("\nInforme um dado para o novo no: "); scanf("%d", &dadosDosElementos); raiz = insercao(raiz, dadosDosElementos); break; case 3: printf("\nInforme um dado para o novo no: "); scanf("%d", &dadosDosElementos); raiz = excluir(raiz, dadosDosElementos); break; case 4: printf("\nSequencia em pre-ordem:\n"); preOrdem(raiz); printf("\n\nSequencia em ordem:\n"); emOrdem(raiz); printf("\n\nSequencia em pos-ordem\n"); posOrdem(raiz); printf("\n"); break; } }while(opcao != 5); return 0; }
int main (){ srand(time(NULL)); arv* arvIdade = NULL; arv* arvNome = NULL; arv* arvAltura = NULL; lista* listaOrdenada = NULL; pessoa* estranho; int menu = 0; int submenu =0; int height =0; for(int i =0; i<TAM_INI; i++){ estranho = criarPessoaAleatoria(); if(i<5){ estranho->idade = 15; }if(i<11&&i>=5){ //use letras minusculas para o nome para nao ter problema com o strcmp estranho->nome ="jose"; }if(i<16&&i>=10){ estranho->altura =1.70; } arvNome = inserirPorNome(arvNome,estranho); arvIdade = inserirPorIdade(arvIdade,estranho); arvAltura = inserirPorAltura(arvAltura,estranho); } while(1){ menu = 0; printf("-------------------------------------\ \n"); printf("Filtragem de Objetos\n"); printf("1 - Imprimir arvore filtrada pelo nome.\n"); printf("2 - Imprimir arvore filtrada pela idade.\n"); printf("3 - Imprimir arvore filtrada pela altura.\n"); printf("4 - Imprimir arvore filtrada pelos elementos idicados pelo usuario.\n"); printf("5 - Imprimir a altura das Arvores.\n"); printf("6 - Sair.\n"); printf("Selecione um iem de menu: "); scanf("%d",&menu); if(menu == 2){ emOrdem(arvIdade); }else if( menu == 1){ emOrdem(arvNome); }else if(menu == 3){ emOrdem(arvAltura); }else if(menu ==4){ while(1){ submenu = 0; printf("-------------------------------------\ \n"); printf("Menu de filtragem por prioridades.\n"); printf("1 - Prioridade nome seguido por idade.\n"); printf("2 - Prioridade nome seguido por altura.\n"); printf("3 - Prioridade idade seguido por nome.\n"); printf("4 - Prioridade idade seguido por altura.\n"); printf("5 - Prioridade altura seguido por nome.\n"); printf("6 - Prioridade altura seguido por idade.\n"); printf("7 - Retornar.\n"); printf("Selecione um iem de menu: "); scanf("%d",&submenu); if(submenu == 1){ listaOrdenada = listaEmOrdem(arvNome); if(listaOrdenada != NULL){ listaOrdenada = prioridadeNomeIdade(listaOrdenada); imprimirLista(listaOrdenada); } }else if(submenu==2){ listaOrdenada = listaEmOrdem(arvNome); imprimirLista(listaOrdenada); if(listaOrdenada != NULL){ listaOrdenada = prioridadeNomeAltura(listaOrdenada); imprimirLista(listaOrdenada); } }else if(submenu==3){ listaOrdenada = listaEmOrdem(arvIdade); if(listaOrdenada != NULL){ listaOrdenada = prioridadeIdadeNome(listaOrdenada); imprimirLista(listaOrdenada); } }else if(submenu==4){ listaOrdenada = listaEmOrdem(arvIdade); if(listaOrdenada != NULL){ listaOrdenada = prioridadeIdadeAltura(listaOrdenada); imprimirLista(listaOrdenada); } }else if(submenu==5){ listaOrdenada = listaEmOrdem(arvAltura); if(listaOrdenada != NULL){ listaOrdenada = prioridadeAlturaNome(listaOrdenada); imprimirLista(listaOrdenada); } }else if(submenu==6){ listaOrdenada = listaEmOrdem(arvAltura); if(listaOrdenada != NULL){ listaOrdenada = prioridadeAlturaIdade(listaOrdenada); imprimirLista(listaOrdenada); } }else if(submenu == 7){ break; } } }else if(menu == 5){ int height = altura(arvNome); printf("Altura da Arvore por Nome eh: %d\n", height); height = altura(arvIdade); printf("Altura da Arvore por Idade eh: %d\n", height); height = altura(arvAltura); printf("Altura da Arvore por Altura eh: %d\n", height); }else if(menu == 6){ return 0; } }