public void Insert(int valor) { if (valor <= this.Valor) { if (Izquierdo == null) { this.Izquierdo = new BinaryTree(valor); } else { Izquierdo.Insert(valor); } } else { if (Derecho == null) { this.Derecho = new BinaryTree(valor); } else { Derecho.Insert(valor); } } }
public void Insert(U valor) { if (comparacion(valor, Valor)) { if (Izquierdo == null) { Izquierdo = new BinaryTree <U>(valor, comparacion); } else { Izquierdo.Insert(valor); } } else { if (Derecho == null) { Derecho = new BinaryTree <U>(valor, comparacion); } else { Derecho.Insert(valor); } } }
public int[] ToArray() { var temp = new int[0]; int[] resultado = new int[0]; if (this.Izquierdo != null) { var izqArr = Izquierdo.ToArray(); resultado = izqArr; } temp = new int[resultado.Length + 1]; resultado.CopyTo(temp, 0); var valArr = new int[] { this.Valor }; valArr.CopyTo(temp, resultado.Length); resultado = temp; if (this.Derecho != null) { var derArr = Derecho.ToArray(); temp = new int[derArr.Length + resultado.Length]; resultado.CopyTo(temp, 0); derArr.CopyTo(temp, resultado.Length); } resultado = temp; return(resultado); }
public Nodo Agregar(int valor) { if (valor < Dato) { Izquierdo = Izquierdo?.Agregar(valor) ?? new Nodo(valor); } else { Derecho = Derecho?.Agregar(valor) ?? new Nodo(valor); } return(this); }
public override int Evaluar() { switch (Valor) { case "+": return(Izquierdo.Evaluar() + Derecho.Evaluar()); case "*": return(Izquierdo.Evaluar() * Derecho.Evaluar()); } return(Int32.Parse(Valor)); }
public override int Resultado() { switch (Valor) { case "+": return(Izquierdo.Resultado() + Derecho.Resultado()); case "*": return(Izquierdo.Resultado() * Derecho.Resultado()); } return(Int32.Parse(Valor)); }
public U BinarySearch(U obj) { new object(); if (obj.Equals(Valor)) { return(Valor); } if (comparacion(obj, Valor) && Izquierdo != null) { return(Izquierdo.BinarySearch(obj)); } else if (Derecho != null) { return(Derecho.BinarySearch(obj)); } throw new Exception(); }
public void Recorrer() { Izquierdo?.Recorrer(); Console.WriteLine($" - {Dato}"); Derecho?.Recorrer(); }