Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   Ayuda arbol binario de busqueda (http://www.forosdelweb.com/f96/ayuda-arbol-binario-busqueda-534328/)

ratagrooves 19/11/2007 14:15

Ayuda arbol binario de busqueda
 
hola soy principiante en la programacion
y me pidieron hacer un proyecto :(lenguaje c)
crear un arbol binario de busqueda,el cual tenga insercion,borrado ,inorden
e imprima el arbol esquematicamente..
bueno esto es lo que llevo hasta aora

#include <stdio.h> para printf(),scanf() y perror()
#include <conio.h> para getch() y gotoxy()
#include<stdlib.h>

struct Arbol{
int Dato;
struct Arbol *Izq;
struct Arbol *Der;
};

struct Arbol *ConstruirArbol(int);
void ImprimeArbol(struct Arbol *,int);
void Error();


int main(void)
{
int nodos;
struct Arbol *Raiz;
system("cls");
printf("Numero de nodos: ");
scanf("%d",&nodos);
printf("\nIntroduce los datos.\n\n");
Raiz=ConstruirArbol(nodos);
printf("\nImpresion del Arbol.\n\n");
ImprimeArbol(Raiz,0);
getch();
return 0;
}

void Error(void)
{
perror("error: No hay memoria.\n");
getch();
abort();
}
struct Arbol *NuevoNodo(void)
{
struct Arbol *Raiz=(struct Arbol *)malloc(sizeof(struct Arbol));
if(!Raiz) Error();
return Raiz;
}

struct Arbol *ConstruirArbol(int nodos)
{
struct Arbol *Raiz;
int Ni,Nd;
if(nodos==0)
return NULL;
else{
Ni=nodos/2;
Nd=nodos-Ni-1;
Raiz=NuevoNodo();
printf("Dato-> ");
scanf("%d",&Raiz->Dato);
Raiz->Izq=ConstruirArbol(Ni);
Raiz->Der=ConstruirArbol(Nd);
return Raiz;
}
}

void ImprimeArbol(struct Arbol *Raiz,int n)
{
int i;
if(Raiz==NULL) return;

ImprimeArbol(Raiz->Izq,n+1);
for(i=0;i<n;i++)
printf(" ");
printf("%d\n",Raiz->Dato);
ImprimeArbol(Raiz->Der,n+1);

}

porfavor ayudenme
mi mail es

[email protected]

gracias

_Lucifer_ 21/11/2007 08:16

Re: Ayuda arbol binario de busqueda
 
¿y cuál es tu duda?

Saludos

Solenbum 27/11/2007 18:08

Re: Ayuda arbol binario de busqueda
 
jaja ya te conteste en el otro foro (SoloCo...)

http://www.conclase.net/c/edd/index.php?cap=007c#7_9


La zona horaria es GMT -6. Ahora son las 10:06.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.