jueves, 28 de enero de 2016

COLA Y PILA


                          EJERCICIOS DE PILA Y COLA                   


COLA:                                                                                                                


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

struct datos {
 int dato;
 datos *s;
 }*p,*aux,*u;

void insertar (int dat);
void borrar ();
void listar ();

main()
{
int opc,y;
do
{
cout<<"\n1. Insertar";
cout<<"\t2. Borrar";
cout<<"\t3. Listar";
cout<<"\t4. Salir";
cout<<"\n Ingrese opcion: ";cin>>opc;
switch(opc)
{
case 1: cout<<"Ingrese dato: ";
 cin>>y;
 insertar(y);
 cout<<"\nDato insertado!!";
 break;
case 2: borrar();
 break;
case 3: listar(); break;
case 4: exit(1);
default: cout<<"\n Opcion no valida!!"; break;
}
}while(opc);
}

void insertar (int dat)
{
aux=new(datos);
aux->dato=dat;
if(u)
{
u->s=aux;
aux->s=NULL;
u=aux;
}
else
{
p=u=aux;
}
}
void borrar()
{
if(p)
{
aux=p;
cout<<"\nElimino a " <<p->dato;
p=aux->s;
delete(aux);
}
else
{
cout<<"\n No hay datos";
}
}

void listar()
{
int i;
if(!u)
{
cout<<"\n No hay datos en la cola";
return;
}
aux=p;
while(aux)
{
cout<<"\n"<<++i<<" - "<<aux->dato;
aux=aux->s;
}
}



                               
____________________________________________________________

PILA:                                                                                                            







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

struct pilas
{
int d;
pilas *a;
}*c,*e;

void menu(void);
void ingresar(void);
void sacar (void);
void actualizar_pila(void);

main()
{
menu();
}
void menu(void)
{
int y,opc;
 for(;;)
 {
 cout<<"\n1. Ingresar datos";
 cout<<"\t2. Sacar datos";
 cout<<"\t0. Terminar";
 cout<<"\n Ingrese opcion: ";cin>>opc;
 switch(opc)
 {
 case 1:
 ingresar();
 break;
 case 2: sacar();
 break;
 case 0: exit(1);
 default: cout<<"\n Opcion no valida!!"; break;
 }
actualizar_pila();
cout<<"\n\nOprima una tecla para continuar";
getch();
 }
}

void ingresar (void)
{
 if(!c)
 {
 c=new(pilas);
 cout<<"Ingrese elemento: ";
 cin>>c->d;
 c->a=NULL;
 return;
 }

 e=new(pilas);
 cout<<"\nIngrese elemento: ";
 cin>>e->d;
 e->a=c;
 c=e;
}

void sacar(void)
{
 if(!c)
 {
 cout<<"\n\nNo hay elementos!!";
 return;
 }

 e=new(pilas);
 e=c;
 cout<<"\n\nElemento eliminado: " <<e->d;
 c=e->a;
 delete(e);

}
void actualizar_pila(void)
{
 int y=2,i,ca=0;
 e=c;
 while(e)
 {
 ca++;
 e=e->a;
 }

for(i=0;i<=ca;i++)
 {
 cout<<" ";
 }
 //muestra lo que tiene la pila!!
 i=0;
 e=c;
 while(e)
 {
 cout<<"\n";
 cout<<++i<<" - "<<e->d;
 e=e->a;
 }
}



CORPORACIÓN IBEROAMERICANA DE ESTUDIOS

MATERIA:
ESTRUCTURA DE DATOS


INTEGRANTES DEL TRABAJO:
  • LICETH REPIZO PRADA
  • NILSON HUERFANO
  • FABIAN IBAÑEZ


MAESTRO:
  • JORGE RODRIGUEZ


JORNADA:
SÁBADOS 8AM-12PM




No hay comentarios:

Publicar un comentario