예제 #1
0
        public void ModificarNodoPila()
        {
            NodoPila Actual = new NodoPila();

            Actual = Primero;
            bool Encontrado = false;

            Console.Write("Ingrese dato a buscar para modificar: ");
            int nodobuscado = int.Parse(Console.ReadLine());

            if (Primero != null)
            {
                while (Actual != null && Encontrado != true)
                {
                    if (Actual.Datopila == nodobuscado)
                    {
                        Console.WriteLine("\n El nodo con el dato {0} ,fue encontrado\n", nodobuscado);
                        Console.WriteLine("\nIngrese el nuevo dato\n");
                        Actual.Datopila = int.Parse(Console.ReadLine());
                        Console.WriteLine("\nNodo Modificado\n");

                        Encontrado = true;
                    }
                    Actual = Actual.Luegopila;
                }
                if (!Encontrado)
                {
                    Console.WriteLine("\nNodo no encontrado\n");
                }
            }
            else
            {
                Console.WriteLine("\n La pila se encuentra vacia\n");
            }
        }
예제 #2
0
        public void insertarNodoPila()
        {
            NodoPila Nuevo = new NodoPila();

            Console.Write("\nIngrese el dato del nuevo nodo\n");
            Nuevo.Datopila = int.Parse(Console.ReadLine());

            Nuevo.Luegopila = Primero;
            Primero         = Nuevo;

            Console.WriteLine("\n Nodo ingresado\n");
        }
예제 #3
0
        public void EliminarNodoPila()
        {
            NodoPila Actual = new NodoPila();

            Actual = Primero;
            NodoPila Anterior = new NodoPila();

            Anterior = null;
            bool Encontrado = false;

            Console.Write("Ingrese dato a buscar para eliminar: ");
            int nodobuscado = int.Parse(Console.ReadLine());

            if (Primero != null)
            {
                while (Actual != null && Encontrado != true)
                {
                    if (Actual.Datopila == nodobuscado)
                    {
                        Console.WriteLine("\n El nodo con el dato {0} ,fue encontrado\n", nodobuscado);
                        if (Actual == Primero)
                        {
                            Primero = Primero.Luegopila;
                        }
                        else
                        {
                            Anterior.Luegopila = Actual.Luegopila;
                        }
                        Console.WriteLine("\n Nodo eliminado\n");

                        Encontrado = true;
                    }
                    Anterior = Actual;
                    Actual   = Actual.Luegopila;
                }
                if (!Encontrado)
                {
                    Console.WriteLine("\nNodo no Encontrado\n");
                }
            }
            else
            {
                Console.WriteLine("\n La pila se encuentra vacia\n");
            }
        }
예제 #4
0
        public void DesplegarPila()
        {
            NodoPila Actual = new NodoPila();

            Actual = Primero;
            if (Primero != null)
            {
                while (Actual != null)
                {
                    Console.WriteLine(" " + Actual.Datopila);
                    Actual = Actual.Luegopila;
                }
            }
            else
            {
                Console.WriteLine("\nLa pila se encuentra vacia\n");
            }
        }
예제 #5
0
 public Pila()
 {
     Primero = null;
     Ultimo  = null;
 }