public void DeleteNode(int val) { GenericNode <T> n = Root; if (Root == null) { Console.WriteLine("No hay nodos"); return; } else if (IEqualityComparer <T> .ReferenceEquals(n.Value, val)) { Root = Root.Next; return; } while (n.Next != null) { if (IEqualityComparer <T> .ReferenceEquals(n.Value, val)) { n.Next = n.Next.Next; Console.WriteLine("Se elimino el nodo{0}", val); return; } n = n.Next; } Console.WriteLine("Nodo no encontrado"); }
public void FindNode(T val) { GenericNode <T> n = Root; int pos = 0; while (n.Next != null) { //if (n.Value == val) //if(IEqualityComparer()) if (IEqualityComparer <T> .ReferenceEquals(n.Value, val)) { Console.WriteLine("Se encontro el Valor: {0} en la posicion: {1}", n.Value, pos); return; } pos++; } Console.WriteLine("Nodo no encontrado"); }