示例#1
0
        public void eliminar(string entrada)
        {
            NodoO actual, anterior;
            bool  encontrado;

            //inicializa los apuntadores
            actual     = primero;
            anterior   = null;
            encontrado = false;
            //busqueda del nodo anterior
            while ((actual != null) && (encontrado))
            {
                encontrado = (actual.dato == entrada);
                if (!encontrado)
                {
                    anterior = actual;
                    actual   = actual.enlace;
                }
            }
            //enlace del nodo anterior con el siguiente
            if (actual != null)
            {
                if (actual == primero)
                {
                    primero = actual.enlace;
                }
                else
                {
                    anterior.enlace = actual.enlace;
                }
                actual = null;
            }
        }
示例#2
0
        public lista insertarLista(string testigo, string entrada)
        {
            NodoO nuevo, anterior;

            anterior = buscarLista(testigo);
            if (anterior != null)
            {
                nuevo           = new NodoO(entrada);
                nuevo.enlace    = anterior.enlace;
                anterior.enlace = nuevo;
            }
            return(this);
        }
示例#3
0
 public lista insertarCabeza(NodoO cabeza, string valor)
 {
     cabeza.enlace = new NodoO(valor);
     cabeza        = cabeza.enlace;
     return(this);
 }
示例#4
0
 public lista insertarUltimo(NodoO ultimo, string entrada)
 {
     ultimo.enlace = new NodoO(entrada);
     ultimo        = ultimo.enlace;
     return(this);
 }
示例#5
0
 public lista()
 {
     primero = null;
 }
示例#6
0
 public void setEnlace(NodoO Enlace)
 {
     this.enlace = Enlace;
 }
示例#7
0
 public NodoO(string x, NodoO n)
 {
     dato   = x;
     enlace = n;
 }
示例#8
0
 public NodoO(string x)
 {
     dato   = x;
     enlace = null;
 }