

Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Um algoritmo de inserção em árvore binária, que permite a realização de operações de busca, inserção e percorrimento em ordem. O código é escrito em c e inclui funções para criar a árvore, inserir novos elementos, realizar a busca de um elemento e percorrer a árvore em pré-ordem e em ordem. O usuário interage com o programa fornecendo códigos para inserção e busca.
Tipologia: Exercícios
1 / 3
Esta página não é visível na pré-visualização
Não perca as partes importantes!


#include <stdio.h> #include <stdlib.h> typedef struct arvore no; struct arvore { int numero; noesq,dir; }; no*raiz=NULL; void insere(no novo) { no aux=raiz; if(aux==NULL) { raiz=novo; return; } while ( 1 ) { if (novo->numero <= aux->numero) { if(aux->esq==NULL) { aux->esq =novo; return; } else aux=aux->esq; } else { if(aux->dir==NULL) { aux->dir =novo; return; } else aux =aux->dir; } } } void entrada() { nonovo; novo=(no)malloc(sizeof(no));
printf("Informe um codigo"); scanf("%d", &novo->numero); novo->esq=NULL; novo->dir=NULL; insere(novo); } void pesquisa() { no aux=raiz; int chave; printf("\n Informe o numero:"); scanf("%d",&chave); while (aux!=NULL) { if(chave <= aux->numero ) { if (aux->numero == chave) { printf("\n Achou %d", aux->numero); getchar(); return; } else aux=aux->esq; } else aux=aux->dir; }//fim while printf("\n Nao encontrou"); } void pre(noraiz) { if(raiz!=NULL) { printf("\n %d ", raiz->numero); pre(raiz->esq); pre(raiz->dir); } } void In_order(no*raiz) {