Exemple #1
0
tree* insereArv(tree *arv, char letra)
{
	if(arv == NULL)
	{
		arv = criaNo(letra, arv, arv);
	}
	else
	{
		if(letra > arv->dado)
		{
			//direita
			arv->dir = insereArv(arv->dir, letra);
		}
		else
		{
			//esquerda
			arv->esq = insereArv(arv->esq, letra);
		}
	}
	return arv;
}
Exemple #2
0
int main(void){
    arv* arvore_a;
    int n, f;
    criar_arvore(arvore_a);
    insereArv(&arvore_a, 20);
    insereArv(&arvore_a, 15);
    insereArv(&arvore_a, 24);
    insereArv(&arvore_a, 11);
    insereArv(&arvore_a, 18);
    insereArv(&arvore_a, 37);
    printf("%s\n", avl(&arvore_a) ? "E avl" : "Nao e avl");
    printf("%s\n", balan(&arvore_a) ? "Esta completamente balanceada" : 
                                      "Nao esta completamente balanceada");
    n = fator(&arvore_a, 24, &f);
    if(f) printf("Fator = %d\n", n);
    else printf("Nao encontrado.\n");
    printf("Arvore:\n");
    print(&arvore_a);
    destruirArv(&arvore_a);
    return 0;
}
Exemple #3
0
int main()
{
	tree *arvore = criaVazia();

	//arvore = criaNo('M', criaNo('H', criaNo('E', criaNo('C', criaNo('A', criaVazia(), criaVazia()),criaNo('D', criaVazia(), criaVazia())), criaNo('G', criaVazia(), criaVazia())), criaNo('K', criaVazia(), criaNo('L', criaVazia(), criaVazia()))), criaNo('R', criaNo('O', criaNo('N', criaVazia(), criaVazia()), criaVazia()), criaNo('T', criaVazia(), criaVazia())));

	/* AROVRE */
	arvore = insereArv(arvore, 'M');

	arvore = insereArv(arvore, 'R');
	arvore = insereArv(arvore, 'H');

	arvore = insereArv(arvore, 'O');
	arvore = insereArv(arvore, 'K');
	arvore = insereArv(arvore, 'T');
	arvore = insereArv(arvore, 'E');

	arvore = insereArv(arvore, 'L');
	arvore = insereArv(arvore, 'G');
	arvore = insereArv(arvore, 'N');
	arvore = insereArv(arvore, 'C');

	arvore = insereArv(arvore, 'D');
	arvore = insereArv(arvore, 'A');
	/* AROVRE */

	imprimirArvore(arvore);

	printf("\n(M(H(E(C(A(_)(_))(D(_)(_)))(G(_)(_)))(K(_)(L(_)(_))))(R(O(N(_)(_))(_))(T(_)(_))))\n");

	printf("\n%d\n%d", 'H', 'X');

	printf("\nPertence H na arvore = %d", pertence(arvore, 'H'));
	printf("\nPertence X na arvore = %d\n", pertence(arvore, 'X'));

	/*tree *arvoreBusca = criaVazia();
	arvoreBusca = busca(arvore, 'C');

	imprimirArvore(arvoreBusca);*/

	/*arvore = removeArv(arvore, 'D');
	arvore = removeArv(arvore, 'K');
	arvore = removeArv(arvore, 'O');*/
	arvore = removeArv(arvore, 'M');

	imprimirArvore(arvore);

	return 0;
}