示例#1
0
 //Esta función realiza la elminación fisica del nodo, recibe por parametros el index extraido por la
 //Función obtenerIndice
 public void EliminaNodoVersiones(int index)
 {
     if (index < 0)
     {
         Console.WriteLine(Global <string> ._pathTexto + "\\" + "La versión no existe");
     }
     else
     {
         //Se compara si el nodo es la cabeza, y se quita el enlace para pasarlo al dato siguiente de la lista
         if (index == 0)
         {
             primero = primero.siguiente;
             Console.WriteLine(Global <string> ._pathTexto + "\\" + "Registro eliminado con éxito");
         }
         else
         {
             //si el nodo no es la cabeza, se realiza una interación del index recibido y la lista, con el fin
             //de llegar a un nodo anterior al index recibido
             int contador = 0;
             NodoVersiones <T> temporal = primero;
             while (contador < index - 1)
             {
                 temporal = temporal.siguiente;
                 contador++;
             }
             //luego de asignar a temporal el nodo anterior al index recibido, se realiza el enlace
             //al nodo siguiente del siguiente, ingnorando de esta forma el nodo que esta en la posición del index recibido
             temporal.siguiente = temporal.siguiente.siguiente;
             Console.WriteLine(Global <string> ._pathTexto + "\\" + "Registro eliminado con éxito");
         }
     }
 }
示例#2
0
        //Método encargado de crear Nodos en la cabeza de la Lista
        public void agregarVersion(T version, Nodos <T> ArbolCompleto)
        {
            NodoVersiones <T> nuevaVersion = new NodoVersiones <T>(version);

            nuevaVersion.siguiente = primero;
            primero = nuevaVersion;
            enlace  = (NodoVersiones <T>)ArbolCompleto;
        }
示例#3
0
 public NodoVersiones(T dato)
 {
     this.dato      = dato;
     this.siguiente = null;
     this.enlace    = null;
 }