Ola este es el Laboratorio 06 del curso de estructuras de datos que trata sobre Pilas .. espero les ayude.. Saludos.
/* Pilas */
#include<iostream.h>
#include<conio.h>
using namespace std;
typedef struct Nodo /// Estructura Nodo
{ int dato;
struct Nodo *sgt;
}TNodo;
typedef struct Pila /// Estructura Pila
{ TNodo *cabeza;
}TPila;
/* CREAR NODO */
TNodo *crearNodo(int x)
{ TNodo *nodo = (TNodo*)malloc(sizeof(TNodo));
nodo->dato = x;
nodo->sgt = NULL;
return nodo;
}
/* CREAR PILA */
TPila *crearPila()
{ TPila *Pila = (TPila*)malloc(sizeof(TPila));
Pila->cabeza = NULL;
return Pila;
}
/* FUNCION INSERTAR ( PUSH ) */
void Push(TPila *Pila, int x)
{ TNodo *Nodo = crearNodo(x);
Nodo->sgt = Pila->cabeza;
Pila->cabeza = Nodo;
}
/* FUNCION ELIMINAR ( POP ) */
void Pop(TPila *Pila)
{ TNodo *p=NULL;
if(Pila->cabeza!=NULL)
{
p=Pila->cabeza;
Pila->cabeza=p->sgt;
free(p);
}
}
/* FUNCION IMPRIMIR */
void Imprime(TPila *Pila)
{ TNodo *p=Pila->cabeza;
int i=1;
while(p!=NULL)
{
cout<<endl<<"\t\t Posicion ["<<i<<"] : "<<p->dato;
i++;
p=p->sgt;
}
}
/* FUNCION TOPE */
void Tope(TPila *Pila)
{ cout<<endl;
cout<<"\t\t El Tope de La Pila Es : "<<Pila->cabeza->dato;
cout<<endl<<endl;
}
/* MENU PRINCIPAL */
int main()
{ system("color 2F");
TPila *P=crearPila();
int N,i=0;
int opcion;
cout<<"\n\n\n\n\n\n";
cout<<endl<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t º |<-[ UNIVERSIDAD NACIONAL DE TRUJILLO ]->| º ";
cout<<endl<<"\t º CURSO ::: ESTRUCTURA DE DATOS º ";
cout<<endl<<"\t º Laboratio 06 - PILAS º ";
cout<<endl<<"\t º Hecho por InfoBik's ---> JP. Rodriguez º ";
cout<<endl<<"\t ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ \n"<<endl;
cout<<endl<<"\t\t >> Presione cualquier tecla para continuar... ";
getch();
system("CLS");
while(1)
{
cout<<"\n\n";
cout<<endl<<"\t\t MENU PRINCIPAL ";
cout<<endl<<"\t\t ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ";
cout<<endl<<"\t\t DISENIE E IMPLEMENTE LOS SIGUIENTES ALGORITMOS: ";
cout<<endl<<"\t\tÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ";
cout<<endl;
cout<<endl<<"\t\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ";
cout<<endl<<"\t\t\tº 1. PUSH - Insertar Pila º ";
cout<<endl<<"\t\t\tº 2. Imprimir Pila º ";
cout<<endl<<"\t\t\tº 3. POP - Eliminar Pila º ";
cout<<endl<<"\t\t\tº 4. Tope de la Pila º ";
cout<<endl<<"\t\t\tº 5. Salir º ";
cout<<endl<<"\t\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ \n\n";
do
{
cout<<"\t\t >> Elija una opcion: ";
cin>>opcion;
}
while(opcion < -10000 || opcion > 10000);
switch(opcion)
{
case 1: i++;
cout<<endl<<"\t\t Ingrese ["<<i<<"] elemento: ";
cin>>N;
Push(P,N);
cout<<"\n\t\t El elemento a sido almacenado...\n\n";
cout<<"\t\t Presione una tecla para continuar... ";
getch();
system("cls");
break;
case 2: Imprime(P);
cout<<endl<<endl;
cout<<"\t\t Presione una tecla para continuar... ";
getch();
system("cls");
break;
case 3: cout<<endl;
Pop(P);
cout<<"\t\t * Se Elimino el Tope; osea el ultimo elemento";
cout<<"\n\t\t ingresado ubicado en la Posicion [1] ";
cout<<endl<<endl;
cout<<"\t\t Presione una tecla para continuar... ";
getch();
system("cls");
break;
case 4: cout<<endl;
Tope(P);
cout<<endl;
cout<<"\t\t Presione una tecla para continuar... ";
getch();
system("cls");
break;
case 5: system("cls");
cout<<"\n\n\n\n\n\n\n\n\n\n\n\t\t Visita www.infobiks.blogspot.com ";
getch();
exit(1);
break;
default:cout<<endl;
cout<<"\t\t La Opcion No es Valida !!!!!!!!!";
cout<<endl<<endl;
cout<<"\t\t Presione una tecla para continuar... ";
getch();
system("cls");
break;
}
}
}
No hay comentarios.:
Publicar un comentario