11.02 - Implementing a stack using array

Objetive

Implementing a stack

Solution

using System;
namespace StackInt
{
    class Program
    {
        static void Main(string[] args)
        {
            bool depurando = true;

            Pila miPila = new Pila( 5 );

            miPila.Apilar(4);
            miPila.Apilar(5);

            Console.WriteLine(miPila.Desapilar());
            Console.WriteLine(miPila.Desapilar());

            if (depurando)
                Console.ReadLine();
        }
    }

    class Pila 
    {
        int valor_actual;
        int cantidad_valores;
        int[] valores_pila;

        public Pila (int cantidad_valores) 
        {
            valor_actual = 0;
            this.cantidad_valores = cantidad_valores;

            valores_pila = new int[cantidad_valores];
        }

        public void Apilar ( int valor )
        {
            if (valor_actual < cantidad_valores) 
            {
                valores_pila[valor_actual] = valor;
                valor_actual++;
            }

        }

        public int Desapilar () 
        {
            if (valor_actual > 0)
            {
                valor_actual -= 1;
                return valores_pila[valor_actual];
            }
            return 0;
        }
    }
}

Popular Posts