Declaración de una pila en c#: Stack
Enviado por • 7 de Octubre de 2013 • Tutorial • 1.552 Palabras (7 Páginas) • 359 Visitas
Una pila (stack en inglés) es una lista ordenada o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura.
Para inicializar una nueva instancia de la clase Stack que este vacia y tenga la capacidad inicial por defecto se utiliza el constructor Stack().
Declaración de una pila en c#: Stack<TipoDeDato> NombrePila = new Stack<TipoDeDato>();
Características
• Las pilas llevan datos que son colocados uno encima de otro como dice su propio concepto como si fuera una pila de datos.
• Solo se pueden obtener o ingresar datos desde uno de sus extremos, igualmente como si fuera una pila de platos.
• Cuando se empieza a crear una pila su tamaño es cero (pila vacía) y generalmente va creciendo de acuerdo a la cantidad de datos que se van apilando en ella.
Operaciones básicas
Una pila cuenta con 2 operaciones imprescindibles:
• Apilar (push): se añade un elemento al tope de la pila.
• Desapilar (pop): remueve y regresa el elemento frontal de la pila.
Otros métodos que también utiliza son:
• size: Regresa el número de elementos de la pila.
• peek: Devuelve el elemento que está en la cima de la pila sin removerlo.
• empty: Devuelve cierto si la pila está vacía o falso en caso contrario.
• Contains: Determina si un elemento es parte de la pila.
• Clear: Remueve todos los objetos de la pila.
Programa
static void Main(string[] args)
{
string nomb;
int opcion;
Stack<string> Pila = new Stack<string>();
do
{
Console.Clear();
Console.WriteLine("Menú Programa Pila");
Console.WriteLine("\n1. Agregar nombre al tope \n2. Borrar último nombre agregado \n3. Ver nombre del tope \n4. Salir");
if (Pila.Count > 0)
{
Console.WriteLine("\n\nNombres en la pila:");
foreach (string nombre in Pila)
{
Console.WriteLine(" " + nombre);
}
}
Console.Write("\nOpcion seleccionada: ");
opcion = Int16.Parse(Console.ReadLine());
switch (opcion)
{
case 1:
...