コード例 #1
0
        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");
        }
コード例 #2
0
        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");
        }