void posOrdem(NoAVL<T>* nodo) { if (nodo != NULL) { posOrdem(nodo->getEsquerda()); posOrdem(nodo->getDireita()); elementos.push_back(nodo); } }
void posOrdem(Node* no) { if (no != NULL) { posOrdem(no->sae); posOrdem(no->sad); printf("%d ", no->valor); } }
/** * @brief Método para colocar os nodos da árvore * na lista "elementos" em posOrdem * * @param nodo Árvore que será ordenada */ void posOrdem(NoRB<T>* nodo) { if (nodo != nullptr) { posOrdem(nodo->getEsquerda()); posOrdem(nodo->getDireita()); elementos.push_back(nodo); } }
void posOrdem(NoAVL<T>* nodo) { if (nodo) { posOrdem(nodo->esquerda); posOrdem(nodo->direita); elementos.push_back(nodo); } }
void posOrdem(node *n){ if(n == NULL){ return; } posOrdem(n->esq); posOrdem(n->dir); printf("[%d]",n->info); }
void posOrdem(struct arvore * no){ if(no!=NULL) { posOrdem(no->esq); posOrdem(no->dir); printf("%d ", no->chave); } }
void posOrdem(no* T){ if(T != NULL){ posOrdem(T->esquerdo); posOrdem(T->direito); printf("%d(Bf=%d) ", T->dado, difAlturaEsq_e_Dir(T)); } }
void posOrdem(struct No *no) { if (no != NULL) { posOrdem(no->esquerda); posOrdem(no->direita); printf("%d ", no->chave); } }
void posOrdem(No *arvore) { if(arvore != NULL) { posOrdem(arvore->f0); posOrdem(arvore->f1); if(arvore->aresta != 2) { printf("%d ", arvore->aresta); } } }
int main() { struct Arvore *t = criaArvore(); int num; char c[5]; gets(c); while(scanf("%d", &num) != EOF) inserir(t, criaNo(&num)); if(strcmp(c, "POS") == 0) posOrdem(t->raiz); else if(strcmp(c, "PRE") == 0) preOrdem(t->raiz); else inOrdem(t->raiz); printf("%d", altura(t->raiz)); printf(" %d", rotacao); }
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(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 mainArvore(int argc, char **argv) { CelulaTmp A; NoAB i, *pi; void *pv, *other, *aux; int num = 4, *newData; char charactere = 'z', *newCharactere; double floatingPoint = 3.1415, *newFloat; Celula celulaA, celulaB, celulaC; celulaA.dado = # celulaB.dado = &charactere; celulaC.dado = &floatingPoint; newData = (int *)celulaA.dado; printf("%d\t%d\n", *newData, sizeof(celulaA)); newCharactere = (char *)celulaB.dado; printf("%c\t%d\n", *newCharactere, sizeof(celulaB)); newFloat = (double *)celulaC.dado; printf("%lf\t%d\n", *newFloat, sizeof(celulaC)); //celulaA.proxima = (PtCelula)malloc(sizeof(Celula)); celulaA.proxima = &celulaB; celulaA.proxima->proxima = (PtCelula)malloc(sizeof(Celula)); *celulaA.proxima->proxima = celulaC; newCharactere = (char *)celulaA.proxima->dado; printf("%c\n", *newCharactere); newFloat = (double *)celulaA.proxima->proxima->dado; printf("%lf\n", *newFloat); newFloat = (double *)celulaB.proxima->dado; printf("%lf\n", *newFloat); aux = # newData = (int *)test(aux); num = 9; printf("%d\n", *newData); i.chave = 6; pv = &i; other = pv; pi = (NoAB *)test(other); i.chave = 7; printf("%d\n", pi->chave); A.left = (PtCelulaTmp)malloc(sizeof(CelulaTmp)); free(A.left); A.right = (PtCelulaTmp)malloc(sizeof(CelulaTmp)); free(A.right); NoAB *raiz; raiz = criarNoAB(5); raiz->fe = criarNoAB(3); raiz->fd = criarNoAB(8); raiz->fe->fe = criarNoAB(2); raiz->fe->fd = criarNoAB(4); raiz->fd->fe = criarNoAB(7); raiz->fd->fd = criarNoAB(12); raiz->fe->fe->fe = criarNoAB(30); puts("Pré-ordem: "); preOrdem(raiz); printf("\n"); puts("Pós-ordem: "); posOrdem(raiz); printf("\n"); puts("Em ordem: "); emOrdemNoAB(raiz); printf("\n"); puts("Em nível: "); emNivel(raiz); printf("\n"); return (0); }