void preOrdem(NoAVL<T>* nodo) { if (nodo != NULL) { elementos.push_back(nodo); preOrdem(nodo->getEsquerda()); preOrdem(nodo->getDireita()); } }
void preOrdem(Node* no) { if (no != NULL) { printf("%d ", no->valor); preOrdem(no->sae); preOrdem(no->sad); } }
/** * @brief Método para colocar os nodos da árvore * na lista "elementos" em preOrdem * * @param nodo Árvore que será ordenada */ void preOrdem(NoRB<T>* nodo) { if (nodo !=nullptr) { elementos.push_back(nodo); preOrdem(nodo->getEsquerda()); preOrdem(nodo->getDireita()); } }
void preOrdem(no* T){ if(T != NULL){ printf("%d (Bf=%d) ", T->dado, difAlturaEsq_e_Dir(T)); preOrdem(T->esquerdo); preOrdem(T->direito); } }
void preOrdem(NoAVL<T>* nodo) { if (nodo) { elementos.push_back(nodo); preOrdem(nodo->esquerda); preOrdem(nodo->direita); } }
void preOrdem(node *n){ if(n == NULL){ return; } printf("[%d]",n->info); preOrdem(n->esq); preOrdem(n->dir); }
void preOrdem(struct arvore * no){ if(no!=NULL) { printf("%d ", no->chave); preOrdem(no->esq); preOrdem(no->dir); } }
void preOrdem(struct No *raiz) { if(raiz != NULL) { printf("%d ", raiz->chave); preOrdem(raiz->esquerda); preOrdem(raiz->direita); } }
void preOrdem(No *arvore) { if(arvore != NULL) { if(arvore->aresta != 2) { printf("%d ", arvore->aresta); } preOrdem(arvore->f0); preOrdem(arvore->f1); } }
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); }