Ir al contenido principal

Stack (Pila) en C#


Haca les traigo un nuevo código, les daré una breve explicación de que es el "Stack" en ingles o "Pila" en español.

Una pila (stack en inglés) es una estructura de datos de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.

En cada momento sólo se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado (denominado TOS, top of stack en inglés). La operación retirar permite la obtención de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS.

Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar a retirarlo.


  • Las pilas suelen emplearse en los siguientes contextos:
  • Evaluación de expresiones en notación postfija (notación polaca inversa).
  • Reconocedores sintácticos de lenguajes independientes del contexto
  • Implementación de recursividad.




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;// necesario para poder declarar un "STACK"

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Stack pila = new Stack();//instancio un nuevo objeto stack(pila)

            pila.Push(1);//agrego un elemento a la pila
            pila.Push(4);
            pila.Push(1);
            pila.Push(6);
            pila.Push(3);
            pila.Push(5);
            pila.Push(9);

            for (int i = 0; i < 3; i++)//itera 3 veces para ir retirando elementos de la pila
            {          
                //pila.pop saca elementos de la pila
                Console.WriteLine("Elemento retirado de la pila: " + pila.Pop());//imprime los elementos que va retirando el .pop
                Console.WriteLine("el próximo elemento que queda en la pila es: " + pila.Peek());//muestra el elemento siguiente en la pila sin eliminarlo
                Console.WriteLine("");
            }      
            Console.ReadKey();
        }
    }
}


Saludos y espero entiendan esta breve explicación del Stack, cualquier cosa que no logren entender, no duden en preguntar en nuestro twitter o facebook que se encuentra en el costado de esta pagina.

Entradas más populares de este blog

Hola mundo en BATCH de Windows

@ echo off echo hola mundo echo Programado desde "batch" pause >nul Copiar esta linea de código y pegar en el block de notas, a la hora de guardar cambia la extensión de ".txt" por la extensión ".bat" y dale a aceptar. Luego ejecuta el archivo. Visiten  www.twitter.com/pgramadores

Pares e impares en C#

Hola amigos, hoy comentare un poco de como realizar dos operaciones matemáticas que nos ayudaran en varias cosas o requerimientos en la programacion de un software. Veremos como calcular y el comparar si un numero es par o impar. Para esto usamos el algoritmo básico de una división que nos dice, Al dividir un numero n, si el resto de la división es un 0, el numero n es un par y si es 1 entonces es impar. Como podemos realizar la misma tres matemática en programacion! De la siguiente manera Tenemos : Int n = 2; If( n% 2 == 0) { Console.WriteLine(" el numero "+n+" es par"); } Else { Console.WriteLine(" el numero "+n+" es impar"); } Console.ReadKey( ); El porcentaje dentro del if, evalúa la operación, esa operación o símbolo es conocido como mod, el mod de una división es el residuo de la misma operación y como vimos anteriormente para ver si un numero es par o impar necesitábamos saber si su residuo era 1 u 0. Realicen...

Javascript del lado del servidor. En serio!!!!

Hoy javascript ha dado un salto gigantesco, ya no solo es un lenguaje de programación del lado del cliente(Que permite mejorar las funcionalidades y trabajo desde el navegador), hoy también es un lenguaje de servidor, y su nombre es NodeJS . Node es un interprete de javascript que funciona a nivel del servidor. Esto significa que con el puedes programar lógica de backend tal cual lo hace los lenguajes clásicos que conocemos, PHP, Java, C#, etc. Esto abre la puerta a poder desarrollar en un solo lenguaje toda una aplicación, sin tener que estar saltando de un lenguaje a otro para tener nuestra web app funcionando. ¿Como nació nodejs? Nodejs nació de V8, este es un entorno de ejecución de javascript creado por google chrome, es un software libre desde el 2008 y esta escrito en C++, la tarea de este entorno es compilar código javascript a lenguaje de maquina en ves de interpretarlo en tiempo real como lo haría en una pagina web. gracias a esto, javascript puede se...