Acerca de la creación y operación del árbol del lenguaje c
#include
#include < stdlib.h>
typedef struct np{
int dat;
struct np *left,*right;
} nodo;
nodo *create(void)
{
return (malloc(sizeof(node)));
} p >
nodo *t(nodo *a,int d)/* Crear un árbol binario**
{
if (a==NULL) { p>
a=create();
a-> izquierda =a->derecha =NULL;
a->dat=d;
}
else if (d>=a->dat) {
a->right =t(a->right,d);
}
> else if (d<a->dat) {
a->left =t(a->left ,d);
} p>
devolver a;
}
void prt(nodo *r)
{
if (r != NULL) {
printf("%d ",r->dat );
prt(r->izquierda );
prt(r-> derecha);
}
}
int main(void)
{
p>nodo *bst=NULL;
int i;
while (scanf("%d",&i),i!=-1111){ /* Enter un número entero desde el teclado hasta -1111 Finalizar entrada*/
bst=t(bst,i /* Generar número de clasificación binaria*/
}
prt(bst); /* Recorrido previo al ordenamiento*/
putchar('\n');
return 0;
}
/-- --------------------------------------------- -- ---- -----------------------