Ejemplo n.º 1
0
        /// <summary>
        /// Inserta un nodo delante del nodo que contiene el dato ingresado ("Afecta el orden por id de la lista").
        /// </summary>
        /// <param name="posicion"></param>
        public void Insertar(int posicion, CAnimal mascota)
        {
            CNodo encontrado = Buscar(posicion);

            if (encontrado != null)
            {
                CNodo nuevo = new CNodo();
                nuevo.Id             = IncrementaId();
                nuevo.Mascota        = mascota;
                nuevo.Siguiente      = encontrado.Siguiente;
                encontrado.Siguiente = nuevo;
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Busca el nodo que contiene el id ingresado.
 /// </summary>
 /// <param name="id">Id a buscar e la lista.</param>
 /// <returns>Retorna el nodo que contiene el id ingresado.</returns>
 public CNodo Buscar(int id)
 {
     trabajo = ancla;
     while (trabajo.Siguiente != null)
     {
         trabajo = trabajo.Siguiente;
         if (trabajo.Id == id)
         {
             return(trabajo);
         }
     }
     return(null);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Borra un nodo de la lista encaso de existir el dato ingresado.
        /// </summary>
        /// <param name="id">Dato del nodo a eliminar.</param>
        public void Borrar(int id)
        {
            trabajo = ancla;
            CNodo encontrado = Buscar(id);

            if (encontrado != null)
            {
                CNodo anterior = BuscarAnterior(id);

                anterior.Siguiente   = encontrado.Siguiente;
                encontrado.Siguiente = null;
            }
        }
Ejemplo n.º 4
0
        public int CantidadNododos()
        {
            int cantidad = 0;

            trabajo2 = ancla;

            while (trabajo2 != null)
            {
                trabajo2 = trabajo2.Siguiente;
                cantidad++;
            }

            return(cantidad);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Adiciona un nodo al final de la lista
        /// </summary>
        /// <param name="mascota">Animal que contendra el nodo a adicionar.</param>
        public void Adicionar(CAnimal mascota)
        {
            trabajo = ancla;

            while (trabajo.Siguiente != null)
            {
                trabajo = trabajo.Siguiente;
            }

            CNodo nuevo = new CNodo();

            nuevo.Id          = IncrementaId();
            nuevo.Mascota     = mascota;
            trabajo.Siguiente = nuevo;
        }
Ejemplo n.º 6
0
        //FIXME: No esta funcionando.
        public CAnimal MuestraAnimal(int id)
        {
            trabajo = ancla;

            while (trabajo.Siguiente != null)
            {
                trabajo = trabajo.Siguiente;
                if (id == trabajo.Id)
                {
                    CAnimal encontrado = trabajo.Mascota;
                    return(encontrado);
                }
            }
            return(null);
        }
Ejemplo n.º 7
0
 //FIXME: Consulta que es esto.
 public int this[int indice]
 {
     get
     {
         trabajo = ObtenerPorIndice(indice);
         return(trabajo.Id);
     }
     set
     {
         trabajo = ObtenerPorIndice(indice);
         if (trabajo != null)
         {
             trabajo.Id = value;
         }
     }
 }
Ejemplo n.º 8
0
        /// <summary>
        /// Busca el indice en el cual se encuantre actualmente el id ingresado, de no encontrarse retorna -1.
        /// </summary>
        /// <param name="id">Id del cual se requiere su indice</param>
        /// <returns></returns>
        public int BuscaIndice(int idBuscar)
        {
            trabajo = ancla;
            int indice = -1;

            while (trabajo.Siguiente != null)
            {
                trabajo = trabajo.Siguiente;
                indice++;
                Console.WriteLine("id ->" + trabajo.Id + " indice->" + indice);
                if (trabajo.Id == idBuscar)
                {
                    return(indice);
                }
            }
            return(-1);
        }
Ejemplo n.º 9
0
        private int id; //Nos servira ara saber el numero de registros ingresados a la lista.

        public CLista()
        {
            ancla           = new CNodo();
            ancla.Siguiente = null;
        }