public void eliminarCircular(string entrada)
        {
            Nodo_C actual;

            actual = primero;
            while ((actual.enlace != primero) && !(actual.enlace.dato.Equals(entrada)))
            {
                if (!actual.enlace.dato.Equals(entrada))
                {
                    actual = actual.enlace;
                }
            }
            // Enlace de nodo anterior con el siguiente
            // si se ha encontrado el nodo.
            if (actual.enlace.dato.Equals(entrada))
            {
                Nodo_C p;
                p = actual.enlace;             // Nodo a eliminar
                if (primero == primero.enlace) // Lista con un solo nodo
                {
                    primero = null;
                }
                else
                {
                    if (p == primero)
                    {
                        primero = actual; // Se borra el elemento referenciado por lc,
                                          // el nuevo acceso a la lista es el anterior
                    }
                    actual.enlace = p.enlace;
                }
                tam--;
                p = null;
            }
        }
        public void transversa()
        {
            Nodo_C n = primero;
            string dt;


            while (n != null)
            {
                dt       = n.dato;
                n        = n.enlace;
                this.tam = this.tam + 1;//Obtenemos el tamaño de la Lista
            }
        }
        public ListarCirculares insertarCircular(string entrada)
        {
            Nodo_C nuevo;

            nuevo = new Nodo_C(entrada);


            if (primero != null)//lista no vacia
            {
                nuevo.enlace   = primero.enlace;
                primero.enlace = nuevo;
            }
            primero = nuevo;
            tam++;
            return(this);
        }
        public void InsertarNodoCircular(String name)
        {
            Nodo_C nuevo;

            nuevo = new Nodo_C(name);
            if (primero == null)
            {
                primero        = nuevo;
                primero.enlace = primero;
                ultimo         = primero;
            }
            else
            {
                ultimo.enlace = nuevo;
                nuevo.enlace  = primero;
                ultimo        = nuevo;
            }

            tam++;
        }
 public ListarCirculares()
 {
     primero = null;
     ultimo  = null;
     tam     = 0;
 }
コード例 #6
0
 public Nodo_C(string entrada)
 {
     dato   = entrada;
     enlace = this;
 }