Manipulando árvores.
Publicado por sérgio 02/03/2007
[ Hits: 5.512 ]
Esse script serve para manipulação básica de árvores, com operações como criar nó, criar a árvore em si, inserir valores e achar valores na árvore.
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct arv{ int chave; struct arv *esq, *dir, *pai; }Tarv; Tarv *cn(){ Tarv *p; p=malloc(sizeof(Tarv)); p->esq=NULL; p->dir=NULL; return p; } Tarv *ca(int x){ Tarv *p; p=cn(); p->chave=x; return p; } int *ins(int x,Tarv *p){ Tarv *q; q=ca(x); if(x<p->chave){ if (p->esq!=NULL){ printf("Nao foi possivel fazer a insersaoa\n"); } else{ p->esq=q; printf("a"); p=p->esq; } } else{ if (x>p->chave){ if(p->dir!=NULL){ printf("Nao foi possivel fazer a insersaob\n"); } else{ p->dir=q; printf("b\n"); p=p->dir; } } else{ printf("O valor que voce colocou eh igual ao valor da raiz, vtnc\n"); } } } int acha(Tarv *p,int x){ Tarv *z; int t; z=p; while(z->chave!=NULL){ if (z->chave==x){ printf("Esse numero existe na arvore!"); return 0; } else{ if(z->chave>x){ z=z->esq; } else{ z=z->dir; } } } } int altura(Tarv *r,int x){ int aux=0; while(r->chave!=x){ if(r->chave<x){ r=r->dir; aux++; } else{ r=r->esq; aux++; } printf("%d\n",aux); } } int main(){ Tarv *p; int abc; p=malloc(sizeof(Tarv)); p->esq=NULL; p->dir=NULL; int a=2,b=3,c=4; p=ca(2); ins(1,p); ins(3,p); acha(p,1); abc=primeira(p); altura(p,1); }
Produto de duas matrizes alocadas dinamicamente
Cálculo de Fatorial usando Loop
Nenhum comentário foi encontrado.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Agora temos uma assistente virtual no fórum!!! (247)
iso de sistema 32 bit em atividade (12)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (27)