Example #1
0
 void preOrdem(NoAVL<T>* nodo) {
   if (nodo != NULL) {
     elementos.push_back(nodo);
     preOrdem(nodo->getEsquerda());
     preOrdem(nodo->getDireita());
   }
 }
Example #2
0
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);
    }
}
Example #5
0
	void preOrdem(NoAVL<T>* nodo) {
		if (nodo) {
			elementos.push_back(nodo);
			preOrdem(nodo->esquerda);
			preOrdem(nodo->direita);
		}
	}
Example #6
0
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); 
     }
}
Example #8
0
void preOrdem(struct No *raiz)
{
    if(raiz != NULL)
    {
        printf("%d ", raiz->chave);
        preOrdem(raiz->esquerda);
        preOrdem(raiz->direita);
    }
}
Example #9
0
void preOrdem(No *arvore) {
	if(arvore != NULL) {
		if(arvore->aresta != 2) {
			printf("%d ", arvore->aresta);
		}
		preOrdem(arvore->f0);
		preOrdem(arvore->f1);
	}
}
Example #10
0
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);
}  
Example #12
0
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;
}
Example #14
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 = &num;
	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 = &num;

	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);
}