Questões de Tecnologia da Informação · CPCC UFES

Tecnologia da InformaçãoÁrvores e grafosCPCC UFES 2013

UFES

Questão de Tecnologia da Informação

17

O programa a seguir imprime uma sequência de números e caracteres: #include <stdio.h> #include <stdlib.h> struct arv { int info; struct arv* esq; struct arv* dir; }; typedef struct arv Arv; void imprime (Arv* a){ if (a) { printf("<%d", a->info); imprime (a->esq); imprime (a->dir); printf(">");} else printf("<>"); } Arv* arv_cria (int info, Arv* sae, Arv* sad){ Arv* p = (Arv*) malloc (sizeof(Arv)); p->info = info; p->esq = sae; p->dir = sad; return p; } Arv* funcao(Arv* a, int info){ if(!a){ a = arv_cria(info, NULL, NULL);} else{ if(info > a->info) a->dir = funcao(a->dir, info); else a->esq = funcao(a->esq, info);} return a; } int main() { Arv* a = NULL; a = funcao (a, 20); a = funcao (a, 10); a = funcao (a, 11); a = funcao (a, 5); a = funcao (a, 7); a = funcao (a, 22); imprime (a); } Qual é essa sequência?

Sua resposta

Mais questões de Árvores e grafos

Questão de prova oficial, com o gabarito definitivo publicado pela banca. Reproduzida para fins de estudo.