You are on page 1of 4

Tarea 1.

Pilas
Instrucciones: Buscar en el mundo real por lo menos 5 ejemplos de pilas y
selecciona un ejemplo de los propuestos para crear un programa en C que realice la
insercin y eliminacin en una pila.
Definicin de pila:

Representa una estructura lineal de datos en la que se puede agregar o


quitar elementos nicamente por uno de los dos extremos. En
consecuencia, los elementos de una pila se eliminan en orden inverso al que
se insertaron; es decir, el ltimo elemento que se mete en la pila es el
primero que se saca. Debido a esta caracterstica, se le conoce como
estructura LIFO (Last-Input, First-Output: el ltimo en entrar es el primero en
salir).
Ejemplos de pilas en la vida cotidiana.
Tambor de cds (este acta como una estructura LIFO ya que el ultimo
en entrar es el primero en salir).

Pila de platos, En una mesa se colocan muchos platos uno encima del
otro (una pila de platos), para colocar un nuevo plato en la pila se
coloca el plato en la cima de la pila. Para sacar un plato de la pila es
necesario sacar el plato que est encima de la pila (el ltimo plato
que fue colocado en la pila de platos).

Pila de revistas En una mesa se colocan muchas revistas una encima


de otra (una pila de revistas), para colocar una nueva revista en la
pila se coloca la revista en la cima de la pila. Para sacar una revista
de la pila es necesario sacar la revista que est encima de la pila (la
ltima revista que fue colocada en la pila de revistas).

Frasco de dulces, para tomar un dulce es necesario tomar el que se


encuentra en la cima que es el ltimo que fue insertado en el frasco.

Un tambo, tiene un solo agujero para poder rellenarlo y por ese


mismo sacar el contenido y al igual que en los ejemplos anteriores
primero debemos sacar lo ltimo que depositamos para llegar al
primer elemento insertado.

Latas apiladas en supermercado, para poder tomar una lata es


necesario tomar la primer lata en el tope que fue la ltima en ser
colocada.

Programa en c para la creacin de una pila.


#include<conio.h>
#include<iostream.h>
#include<stdlib.h>

void insertar(int tope, int max, int dato)


{
If (tope=max-1)
Printf(error la pila esta llena no se pueden inserter mas elementos);
Else
{
tope++;
pila(tope)=dato;
}}
Void eliminar(int tope){
If(tope=-1)
printf(error la pila vacia, imposible eliminar datos);
Else
{
printf(el dato a eliminar es %d,pila[tope]);
tope=tope-1;
}}
Void imprimir()
{
if(tope!=-1)
for(int i=tope;i!=-1;i--)
printf(datos: \n, pila[tope]);
else
printf(No hay datos para mostrar); (Pila vacia)\n\n";
}

int main()
{
int opc;
pila;
do
{
system("cls");
printf("Menu principal"\n);
printf ("1-Insertar"\n );
printf ("2-Eliminar"\n );
printf ("3-Imprimir"\n );
printf ("4-Salir"\n );
printf ("elige una opcion"\n);
scanf("%d",&opc)

switch(opc)
{
system("cls");
case 1: pila1.insertar();break;
case 2: pila1.eliminar();break;
case 3: pila1.imprimir();break;
}

}while(opc!=4);
}

You might also like