Matlab

Páginas: 2 (493 palabras) Publicado: 5 de junio de 2012
Árboles Binarios
#include
#include
struct nodo
{
int dato;
nodo *izq;
nodo *der;
}*raiz;
//Crea el nodo raiz. Esta función es llamada solo una vez.
//Recibe: el valor a insertar en elnodo raiz.
void crea_raiz(int num)
{
raiz = new (nodo); //crea un nuevo espacio tipo nodo que se llamara raiz.
raiz->dato= num; //en el campo dato del nodo raiz, inserta el valor recibido.
raiz->izq= NULL; //la rama izquierda no existe, apunta a NULL
raiz->der = NULL; //la rama derecha no existe, apunta a NULL
}
//Crea un nodo (solo un hijo)
//Recibe: La posicion del padre, es decir, ellugar en donde se va a insertar.
//Recibe: En que lado se va a crear 0 en la izquierda y 1 en la derecha.
//Recibe: El dato a insertar en el nuevo nodo.
void crea_nodo (nodo *padre, int rama, int num){
nodo *nuevo;
nuevo = new (nodo); //crea el nuevo nodo;
if (rama == 0) // si se va a crear el nodo de la izquierda.
padre->izq = nuevo; //enlazamos al padre con el hijo de la izquierda.
if(rama == 1) //si se va a crear el nodo de la derecha.
padre->der = nuevo; //enlazamos al padre con el hijo de la derecha.

}

nuevo->dato = num; //le colocamos el dato indicado;
nuevo->izq=NULL;//como esta rama no tiene hijos su derecha e izquierda
nuevo->der=NULL; //apuntan a NULL

//Crea un subarbol completo (ambos hijos).
//Recibe: La posicion del padre, es decir, el lugar en donde seva a insertar.
//Recibe: los dos datos que va a insertar, uno en la derecha y otro en la izquierda.
void crea_arbol (nodo *padre, int numizq, int numder)
{
nodo *nuevoizq, *nuevoder;
//Crea losnodos
nuevoizq = new (nodo); //crea el nodo que va a quedar en la rama izquierda.
nuevoder = new (nodo);//crea el nodo que va a quedar en la rama derecha.
//Enlaza al padre los dos nuevos nodos(nodos hijos).
padre->izq = nuevoizq;
padre->der = nuevoder;
//Llena los datos de los hijos.
nuevoizq->dato = numizq; //Le coloca el valor que recibio como parametro
nuevoizq->izq=NULL; //como esta...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • matlab
  • Matlab
  • Matlab
  • matlab
  • MATLAB
  • MATLAB
  • Matlab
  • Matlab

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS