Estrutura de dados

821 palavras 4 páginas
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á no disco.

#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 os nos 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 a Arvore 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ção que retorna quantos nós folhas existem.

int contarNosFolha(Arvore *raiz){ if(raiz == NULL) return 0; if(raiz->esquerda == NULL && raiz->direita == NULL) return 1; 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);

Relacionados

  • Estrutura de Dados
    294 palavras | 2 páginas
  • Estrutura de dados
    1410 palavras | 6 páginas
  • estrutura de dados
    308 palavras | 2 páginas
  • Estrutura de dados
    1209 palavras | 5 páginas
  • Estrutura de dados
    365 palavras | 2 páginas
  • estrutura de dados
    940 palavras | 4 páginas
  • Estrutura de dados
    1051 palavras | 5 páginas
  • Estrutura de dados
    45366 palavras | 182 páginas
  • Estrutura de Dados
    16294 palavras | 66 páginas
  • Estrutura de Dados
    1559 palavras | 7 páginas