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Í