Manipulando árvores.
Publicado por sérgio 02/03/2007
[ Hits: 5.743 ]
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); }
Simples gerador de números primos
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (11)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)