Professional Documents
Culture Documents
#include "stdafx.h"
#include <stdlib.h>
#include <conio.h>
#include <malloc.h>
struct nodo
int valor;
struct nodo*sig;
struct inicio*nuevo;
struct nodo
{
int valor;
struct nodo*izq;
struct nodo*der;
};
struct size
struct nodo*raiz;
struct nodo*obs;
arbol;
};
void main()
printf("\tMENU");
void insert(int v)
struct nodo*nuevo;act;
nuevo=(struct nodo*)malloc(sizeof(structnodo));
nuevo->sig=null;
nuevo->valor=V;
act=inicio;
while(act->sig!=null)
act=act->sig;
act->sig=nuevo;
void delet(int v)
struct nodo*act,ant;
ant=inicio;
act=inicio->sig;
while(act!=null)
{
if(v==act->valor)
{
ant->sig=act->sig;
act->sig=null;
free(act);
break;
}
ant=act;
act=act->sig;
}
}
// ARBOLES //
void insertar(int v)
{
struct nodo*nuevo,*psave;
bool found=false;
psave=arbol->obs;
found=FindKey(v);
if(found)
arbol->obs=psave;
}
else
nuevo->valor=v;
nuevo->izq=NULL;
nuevo->der=NULL;
if(arbol->raiz==NULL)
arbol->raiz=nuevo;
arbol->obs=nuevo;
else
if(v<arbol->obs->valor)
arbol->obs->izq=nuevo;
else
arbol->obs->der=nuevo;
arbol->obs=nuevo;
}
}
bool FindKey(int e)
{
bool found=false;
struct nodo*p;
p=arbol->raiz;
while(found==false&&p!=NULL)
if(e==p->valor)
arbol->obs=p;
found=true;
else
{
if(e<p->valor)
{
if(p->izq==NULL)
arbol->obs=p;
p=p->izq;
}
else
{
if(p->der==NULL)
arbol->obs=p;
p=p->der;
}
}
}
return found;
}
void imprimir(struct nodo*act)
if(act!=NULL)
{
printf("%¡",act->valor);
imprimir(act->izq);
printf("%¡",act->valor);
imprimir(act->der);
printf("%¡",act->valor);
}
}