/*
 * ej-01.pl
 * examen final 23/02/2004
 */


/* Un árbol binario ordenado es un árbol donde la raíz es mayor
 * a su hijo izquierdo pero menor a su hijo derecho.  Se quiere
 * que escriba un predicado Prolog
 *		ordenar(ListaNum, ArbolOrdenado).
 * que evalúe true en el caso que ArbolOrdenado sea el árbol binario
 * ordenado construido a partir de la lista de números ListaNum.
 *
 * Por ejemplo:
 *		ordenar([4,3,5,6,1], X).
 *      X = arbol(4,
 *                arbol(3, nil, nil),
 *                arbol(5,
 *                      arbol(1, nil, nil),
 *                      arbol(6, nil, nil)
 *                     )
 *               )
 *
 *
 * La representación gráfica de X es:
 *
 *                   4
 *                  /  \
 *                 3    5
 *                     /  \
 *                    1    6
 */


inicial :- p1, halt.
inicial :- halt.

p1 :- ordenar([4,3,5,6,1], X),
	write(X), nl.

ordenar([X],arbol(X,nil,nil)) :- !.

ordenar( [N1,N2 | Resto], arbol(N, I, D) ) :-


/* EOF ej-01.pl */
