PILAS
La pila es una estructura de dato que cumple las condiciones usuales de añadir y quitar elementos. Los elementos que se quitan son los del tope.
Además se conoce a las pilas como estructuras de datos LIFO que siginifica last-in, first-out en spanish es "último en entrar, primero en salir".
Vemos el código en c++:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main(void)
{
int cant,cont=0,op,n,k;
int a[50], i=-1;
int j=0;
int desap=0;
do {
clrscr();
cout<<"INGRESE LA CANTIDAD DE ELEMENTOS PARA LA PILA: "; cin>>cant;
} while(cant<=0);
do{
clrscr();
cout<<"\n \n";
cout<<" MENU \n \n";
cout<<" 1. APILAR\n "
<<"2. DESAPILAR\n "
<<"3. VER PILA\n "
<<"4. VER EL TOPE\n "
<<"5. REINICIAR\n "
<<"6. SALIR\n \n"
<<" ELIJA UNA OPCION: ";cin>>op;
switch(op)
{
case 1:
cont=cant;
if(i<cant-1)
{
clrscr();
i++;
cout<<"APILAR "<<cant<<" ELEMENTOS: \n \n";
cout<<"Ingrese elemento "<<"("<<i+1<<") : ";
cin>>a[i];
}
if(i==(cant-1))
{
clrscr();
cout<<" APILAR \n \n";
cout<<"LA PILA ESTA LLENA!";
getch();
}
desap=i;
//variable para quitar elementos a la pila
break;
case 2: //OPCION DE DESAPILAR
clrscr();
cout<<" DESAPILAR \n \n";
if (i>=0)
{
desap=desap-1;
if(desap>=-1)
{
i--;
cout<<"Valor quitado: "<<a[desap+1];
cont--;
}
else if(desap<-1)
{cout<<"La pila esta vacia";}
}
if(i==-1 && desap==0)
{
cout<<"La pila esta vacia";
}
getch();
break;
case 3: //VER PILA COMPLETA
clrscr();
cout<<" VER PILA \n \n";
if (i>=0)
{
if(desap>=0)
{
for(j=desap;j>=0;j--)
{
cout<<a[j]<<"\n";
}
}
if(j<-1)
{
cout<<"La pila esta vacia";
}
}
if(i<0 && desap==0)
{
cout<<"La pila esta vacia";
}
getch();
break;
case 4: //VER EL TOPE DE LA PILA
clrscr();
cout<<" VER EL TOPE \n \n";
if(cont>0)
{
cout<<a[cont-1];
}
else
{
cout<<"Pila vacia";
}
getch();
break;
case 5: //REINICIAR PILA (VOLVER A 0 LA PILA)
clrscr();
cout<<" REINICIO DE PILA \n \n";
i=-1;
j=0;
desap=0;
cont=0;
do {
clrscr();
cout<<"INGRESE LA CANTIDAD DE ELEMENTOS DE LA PILA: "; cin>>cant;
} while(cant<=0);
break;
}
}while(op<6);
getch();
}
DESCARGA EL ARCHIVO CON EL CÓDIGO AQUÍ