public void Insertar(int dat, int per, String nom, ListaDelArbol lst) { NodoArbol padre = null; Actual = Raiz; while (!(Actual == null) && dat != Actual.Dato) { padre = Actual; if (dat > Actual.Dato) { Actual = Actual.Der; } else if (dat < Actual.Dato) { Actual = Actual.Izq; } } if (Actual != null) { return; } if (padre == null) { Raiz = new NodoArbol(dat, per, nom, lst); } else if (dat < padre.Dato) { padre.Izq = new NodoArbol(dat, per, nom, lst); } else if (dat > padre.Dato) { padre.Der = new NodoArbol(dat, per, nom, lst); } }
private void button1_Click(object sender, EventArgs e) { Arbol a = new Arbol(); ListaDelArbol b = new ListaDelArbol(); ListaDelArbol c = new ListaDelArbol(); a.Insertar(40, 40, "", b); a.Insertar(20, 20, "", c); a.Insertar(60, 60, "", b); a.Insertar(10, 10, "", c); a.Insertar(30, 30, "", b); a.Insertar(50, 50, "", c); a.Insertar(70, 70, "", b); a.Insertar(45, 45, "", c); a.Insertar(55, 55, "", b); a.Insertar(54, 54, "", c); Console.WriteLine("Recorrido InOrder: "); a.InOrder(a.Raiz, true); Console.WriteLine("\n Recorrido PreOrder: "); a.PreOrder(a.Raiz, true); Console.WriteLine("\n Recorrido PostOrder: "); a.PostOrder(a.Raiz, true); }
public NodoArbol(int dat, int per, String nom, ListaDelArbol lst) { this.Dato = dat; this.Perdidas = per; this.Nombre = nom; this.Izq = null; this.Der = null; this.Lista = lst; }
public NodoLA(int dat, int per, String nom, ListaDelArbol lst) { this.Dato = dat; this.Perdidas = per; this.Nombre = nom; this.Ant = null; this.Sig = null; this.Lista = lst; }
public void Insertar(int dat, int per, String nom, ListaDelArbol lst) { NodoLA nuevo = new NodoLA(dat, per, nom, lst); if (primero == null) { primero = nuevo; ultimo = nuevo; primero.Sig = primero; primero.Ant = primero; } else { ultimo.Sig = nuevo; nuevo.Ant = ultimo; nuevo.Sig = primero; ultimo = nuevo; primero.Ant = ultimo; } }