public void eliminar(object entrada)
        {
            NodoLista actual, anterior;
            Boolean   encontrado;

            //inicializa los apuntadores
            actual     = primero;
            anterior   = null;
            encontrado = false;
            // búsqueda del nodo y del anterior
            while ((actual != null) && (!encontrado))
            {
                encontrado = (actual.Dato == entrada);
                //con objetos: actual.dato.equals(entrada)
                if (!encontrado)
                {
                    anterior = actual;
                    actual   = actual.siguiente;
                }
            }

            // siguiente del nodo anterior con el siguiente
            if (actual != null)
            {
                // Distingue entre que el nodo sea el cabecera,
                // o del resto de la lista
                if (actual == primero)
                {
                    primero = actual.siguiente;
                }
                else
                {
                    anterior.siguiente = actual.siguiente;
                }
                actual = null; // no es necesario al ser una variable local
            }
        }
Ejemplo n.º 2
0
 public NodoLista(Object pDato, NodoLista pNodo)
 {
     Dato      = pDato;
     siguiente = pNodo;
 }
Ejemplo n.º 3
0
 public NodoLista(Object pDato)
 {
     siguiente = null;
     Dato      = pDato;
 }
Ejemplo n.º 4
0
 public NodoLista()
 {
     siguiente = null;
     Dato      = null;
 }
 public ListaSimple insertarUltimo(NodoLista ultimo, object entrada)
 {
     ultimo.siguiente = new NodoLista(entrada);
     ultimo           = ultimo.siguiente;
     return(this);
 }
 public ListaSimple()
 {
     primero = null;
 }