public int Pop() // sacar elementos de la pila

        {
            NodoPila auxnodo = new NodoPila(); /* variable auxiliar para manipular nodo */
            int      v;                        /* variable auxiliar para retorno */

            if (ultimo == null)
            {
                return(0);
            }
            else
            {
                /* Nodo apunta al primer elemento de la pila */
                auxnodo = ultimo;

                /* Asignamos a pila toda la pila menos el primer elemento */
                ultimo = auxnodo.Siguiente;

                /* Guardamos el valor de retorno */
                v = auxnodo.Dato;


                return(v);
            }
        }
Exemple #2
0
        public void insertarNodo(string nombre, string contra)
        {
            Nodo     nuevo     = new Nodo();
            NodoPila tempopila = new NodoPila();
            NodoCola tempocola = new NodoCola();



            nuevo.usuario  = nombre;
            nuevo.password = contra;

            if (primero == null)
            {
                primero = nuevo;
                ultimo  = nuevo;

                primero.siguiente   = primero;
                primero.atras       = ultimo;
                primero.derechapila = tempopila;
                primero.derechacola = tempocola;
            }
            else
            {
                ultimo.siguiente    = nuevo;
                nuevo.atras         = ultimo;
                nuevo.siguiente     = primero;
                ultimo              = nuevo;
                primero.atras       = ultimo;
                primero.derechapila = tempopila;
                primero.derechacola = tempocola;
            }
            Console.WriteLine(" Nuevo nodo ingresado\n");
        }
        public void push(MatrizOrtogonal matriz1)
        {
            llamar = matriz1;
            NodoPila Nuevo = new NodoPila();

            Nuevo.matriz = matriz1;
            Nuevo.Dato   = llamar.ObtenerDato();

            if (ultimo == null)
            {
                ultimo = Nuevo;
            }
            else
            {
                Nuevo.Siguiente = ultimo;
                ultimo          = Nuevo;
            }
            Console.WriteLine("Nodo ingresado \n");
        }
        public void desplegarPila()
        {
            var Doc = File.Create(@"C:\Users\Suseth\Documents\Visual Studio 2015\Projects\Practica1EDiciembre\MyCola.txt");

            Doc.Close();
            StreamWriter escribiendo = new StreamWriter(@"C:\Users\Suseth\Documents\Visual Studio 2015\Projects\Practica1EDiciembre\MyCola.txt");

            escribiendo.WriteLine("Digraph {");



            NodoPila Actual = new NodoPila();

            Actual = ultimo;

            if (ultimo != null)
            {
                // encabezadoPila();
                while (Actual.Siguiente != null)
                {
                    Console.WriteLine("Dato de la pila: " + Actual.Dato);
                    escribiendo.WriteLine(Actual.Dato + "->" + Actual.Siguiente.Dato + ";");
                    //string nombrenodo = Actual.Dato.ToString();

                    //string escribiendo = nombrenodo + "[label=\"" + Actual.Dato + "\\n"+ "\"];";

                    Actual = Actual.Siguiente;
                }

                //txtPila("}");
            }
            else
            {
                Console.WriteLine(" La pila se encuentra Vacia \n");
            }
            escribiendo.WriteLine("}");
            escribiendo.Close();
        }
 public Pila()
 {
     ultimo = null;
 }