ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Declaración de una pila en c#: Stack


Enviado por   •  7 de Octubre de 2013  •  Tutoriales  •  1.552 Palabras (7 Páginas)  •  341 Visitas

Página 1 de 7

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:

Console.Write("Nombre a ingresar: ");

nomb = Console.ReadLine();

Pila.Push(nomb);

break;

case 2:

if (Pila.Count > 0)

{

Console.WriteLine("Nombre borrado: " + Pila.Pop());

Console.WriteLine("\nPresiona <Enter> regresar al menu...");

Console.ReadKey();

}

else

{

Console.WriteLine("\n\nLa pila esta vacia");

Console.WriteLine("\nPresiona <Enter> regresar al menu...");

Console.ReadKey();

}

break;

case 3:

if (Pila.Count > 0)

{

Console.WriteLine("Nombre del tope: " + Pila.Peek());

Console.WriteLine("\nPresiona <Enter> regresar al menu...");

Console.ReadKey();

}

else

{

Console.WriteLine("\n\nLa pila esta vacia");

Console.WriteLine("\nPresiona <Enter> regresar al menu...");

Console.ReadKey();

}

break;

}

} while (opcion != 4);

}

Fuentes

http://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica)

http://msdn.microsoft.com/en-us/library/System.Collections.Stack.aspx

...

Descargar como  txt (4.2 Kb)  
Leer 6 páginas más »
txt