Example #1
0
int Arvore::contagem(No* pNo)
{
	int esq, dir;
	if(pNo)
	{
		pNo->setMembrosEsquerda(esq = contagem(pNo->getEsquerda()));
		pNo->setMembrosDireita(dir = contagem(pNo->getDireita()));
		return esq + dir + 1;
	}
	else
	{
		return 0;
	}
}
Example #2
0
int main(){
	FILE *fp1, *fp2;
	arvore *raiz1 = NULL;
	arvore *raiz2 = NULL;
	info letra;
	if(!fopen("texto1.txt","r"))
		printf("%s\n", "sem arquivo 1");
	else
		fp1=fopen("texto1.txt","r");
	while (!feof(fp1)){
		letra = getc(fp1);
		if((letra!='\n') && (letra!=EOF) && (letra!='\r'))
			insere_arvore_ordenando(&raiz1,letra);
	}
	if(!fopen("texto2.txt","r"))
		printf("%s\n", "sem arquivo 2");
	else
		fp2=fopen("texto2.txt","r");
	while (!feof(fp2)){
		letra = getc(fp2);
		if((letra!='\n') && (letra!=EOF) && (letra!='\r'))
			insere_arvore_ordenando(&raiz2,letra);
	}
	printf("Arvore 1: ");
	printar_arvore(raiz1);
	printf("\nElementos no arvore 1 = %d ",contagem(raiz1));
	printf("\nAltura no arvore 1 = %d ",1+altura(raiz1));
	printf("\nEstrutura da Arvore 1:\n");
	printar_largura(raiz1);
	printf("\n\n");
	printf("Arvore 2: ");
	printar_arvore(raiz2);
	printf("\nElementos no arvore 2 = %d\n",contagem(raiz2));
	printf("Altura da arvore 2 = %d ",1+altura(raiz2));
	printf("\nEstrutura da Arvore 2:\n");
	printar_largura(raiz1);
	if(!percorrer(raiz1, raiz2))
		printf("\n\nArvores iguais.\n");
	else
		printf("\n\nArvores nao iguais.\n");
	return 0;
}
Example #3
0
int contagem(arvore *raiz){
   return ((raiz != NULL) ? (contagem(raiz->esq) + contagem(raiz->dir) + 1) : 0);
}
Example #4
0
void Arvore::contagem()
{
	contagem(raiz);
}
Example #5
0
int main()
{
	contagem();
	return 0;
}