martes, 6 de noviembre de 2007

Árbol binario en C#

//arbol binario con inserción ordenada en C#
//UNACAR DES-DACI/JAFH 2007
//
using System;
class nodo{
public string dato;
public nodo izq;
public nodo der;
}
class arbolbinario{
static nodo raiz=null;
static void inserta(ref nodo raiz,nodo p){
if(raiz==null) raiz=p;
else
if(String.Compare(p.dato,raiz.dato)<0)
inserta(ref raiz.izq,p);
else
inserta(ref raiz.der,p);
}
static void inorden(nodo raiz){
if(raiz!=null){
inorden(raiz.izq);
Console.Write(raiz.dato+",");
inorden(raiz.der);
}
}
static void insertaDato(string dato){
nodo p=new nodo();
p.dato=dato;
p.izq=null;
p.der=null;
inserta(ref raiz,p);
}
public static void Main(){
insertaDato("f");
insertaDato("c");
insertaDato("j");
insertaDato("a");
insertaDato("d");
insertaDato("g");
insertaDato("r");
inorden(raiz);
Console.WriteLine();
}
}