public void insertarNodoListaCircular(String nombre, string contrasena)
        {
            NodoListaCircular nuevo = new NodoListaCircular();
            //nuevo.dato = int.Parse (Console.ReadLine() );//recibe el dato de la interfaz
            Usuario user = new Usuario(nombre, contrasena);

            nuevo.dato = user;
            if (primero == null)
            {
                primero           = nuevo; //como no hay nada el mismo nodo sera los dos
                ultimo            = nuevo;
                primero.siguiente = primero;
                primero.atras     = ultimo;
            }
            else
            {
                ultimo.siguiente = nuevo;   //para qu ehaga el enlace del siguiente
                nuevo.atras      = ultimo;
                nuevo.siguiente  = primero; //para que se haga circular
                ultimo           = nuevo;
                primero.atras    = ultimo;
            }
            MessageBox.Show("dato ingresado");
            //Console.WriteLine("dato ingresado biennn!!");
        }
        public void EliminarListaCircular(String nombre, String contrasena)
        {
            NodoListaCircular actual    = new NodoListaCircular();
            Usuario           aeliminar = new Usuario(nombre, contrasena);

            actual = primero;
            bool encontrado = false;

            // aeliminar = int.Parse(datoEliminar );//dato que viene de la interfaz
            if (actual != null) //si no esta vacia
            {
                do
                {
                    if (actual.dato.nombre == nombre && actual.dato.contraseña == contrasena)
                    {
                        MessageBox.Show("Usuario a eliminar : " + actual.dato.nombre);
                        encontrado             = true;
                        actual.atras.siguiente = actual.siguiente; //para pasar el puntero al siguiente
                        actual.siguiente.atras = actual.atras;     //para enlazar el siguiente de eliminar con el anterior
                    }
                    actual = actual.siguiente;                     //para que siga buscando
                } while (actual != primero);                       //si es el primero ya recorrio toda la lista
                if (!encontrado)
                {
                    MessageBox.Show("El usuario no existe  :( " + actual.dato.nombre);
                }
            }
            else
            {
                MessageBox.Show("Lista vacia >:");
            }
        }
        public void RecorrerListaCircular()
        {
            NodoListaCircular actual = new NodoListaCircular();

            // Usuario user = new Usuario();
            actual = primero;
            if (actual != null)
            {
                do
                {
                    MessageBox.Show(actual.dato.nombre + "," + actual.dato.contraseña);
                    actual = actual.siguiente;
                } while (actual != primero);
            }
        }
        public Boolean BuscarListaCircular(String nombre, String contra)
        {
            NodoListaCircular actual  = new NodoListaCircular();
            Usuario           abuscar = new Usuario(nombre, contra);

            actual = primero;
            if (actual != null) //si no esta vacia
            {
                do
                {
                    if (actual.dato.nombre == nombre && actual.dato.contraseña == contra)
                    {
                        //   MessageBox.Show("el usuario ya existe: " + actual.dato.nombre );
                        return(true);
                    }
                    actual = actual.siguiente; //para que siga buscando
                } while (actual != primero);   //si es el primero ya recorrio toda la lista
            }
            else
            {
                // MessageBox.Show("Lista vacia");
            }
            return(false);
        }
        public void recorrerGraficar(TextWriter archivo)
        {
            NodoListaCircular nodito = new NodoListaCircular();

            nodito = primero;
            String texto;

            if (nodito != null)
            {
                do
                {
                    texto = "nodo" + nodito.dato.nombre + nodito.dato.contraseña + "[label= \"" + nodito.dato.nombre + " | " + nodito.dato.contraseña + "\"];\n";
                    //  texto = "nodo" + nodito.getNombre() + "[label= \"" + nodito.getNombre() + "\"];\n";
                    archivo.WriteLine(texto);
                    nodito = nodito.siguiente;
                } while (nodito != primero);
                nodito = primero;
                do//crear enlaces
                {
                    texto = "nodo" + nodito.dato.nombre + nodito.dato.contraseña + "-> nodo" + nodito.siguiente.dato.nombre + nodito.siguiente.dato.contraseña + ";\n";
                    archivo.WriteLine(texto);
                    nodito = nodito.siguiente;
                } while (nodito != primero);
                nodito = primero;
                do//crear enlaces
                {
                    texto = "nodo" + nodito.dato.nombre + nodito.dato.contraseña + "-> nodo" + nodito.atras.dato.nombre + nodito.atras.dato.contraseña + ";\n";
                    archivo.WriteLine(texto);
                    nodito = nodito.atras;
                } while (nodito != primero);
            }
            else
            {
                MessageBox.Show("lista vacia");
            }
        }
 public ListaCircular()
 {
     primero = null;
     ultimo  = null;
 }