Estrutura de dados

Páginas: 4 (821 palavras) Publicado: 7 de maio de 2013
Questão 4
Para a árvore apresentada na Questão 2, implemente em C as funções abaixo:
Obs.: utilize as funções e a estrutura de dados que está no arquivo Slides_Arvores_Binarias_1 que está nodisco.

#include
#include
#include
//Cria a estrutura da Arvore
struct arv {
int info;
struct arv* esq;
struct arv* dir;
};
typedef struct arv Arv;
bool vazia(Arv* a);
Arv*criarVazia();
Arv* criar(int c, Arv* e, Arv* d);
Arv* monta_arvore(Arv *r, int a);

bool pertence(Arv* a, int c);
//Função de imprimir resultados
void imprimir(Arv* a);
//Funcão de exibir osnos folhas da Arvore
int ExibirNosFolhas(Arv* a);
//Função de informar a altura da arvore
int altura(Arv* a);
//Criando uma arvore vazia
Arv* criarVazia(){
return NULL;
}//Criando uma arvore nao vazia
Arv* criar(char c, Arv* sae, Arv* sad)
{ Arv* p = (Arv*) malloc (sizeof(Arv));
p->info = c;
p->esq = sae;
p->dir = sad;
return p;
//montar aArvore
Arv *raiz, *d;
int a, i;


srand(time(NULL));
a = rand()%20;
raiz = criar(a, criarVazia(), criarVazia());
printf("\n\nNo a ser inserido: %d \n", a);imprimir(raiz);

for (i = 0; iesquerda) + contarNos(raiz->direita);
}

printf("Qtde de NOS na arvore: %i \n\n", (char)contarNos(n1));


b) Funçãoque retorna quantos nós folhas existem.

int contarNosFolha(Arvore *raiz){
if(raiz == NULL)
return 0;
if(raiz->esquerda == NULL && raiz->direita == NULL)
return1;
return 0 + contarNosFolha(raiz->esquerda) + contarNosFolha(raiz- >direita);
}

printf("Qtde de NOS folha na arvore: %i \n\n", (char)contarNosFolha(n1));



c)Função que retorna quais são os nós folhas.

int ExibirNosFolhas(Arv* a)
{

if(a == NULL)
return 0;
if(a->esq == NULL && a->dir == NULL)
printf(" %d", a->info);...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • ESTRUTURA DE DADOS
  • Estrutura de dados
  • Estrutura de dados
  • Estrutura de Dados
  • Estrutura de dados
  • estrutura de dados
  • Estrutura de Dados
  • Estrutura dados

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!