Anda di halaman 1dari 4

#include<iostream.

h>
#include<conio.h>
struct nodo{ int nro;
struct nodo*sgte;
};
struct cola{
struct nodo*adelante;
struct nodo*atras;
};
void iniciar(struct cola&);
void insertar(cola &cola1, cola &cola2, int n);
void encola(struct cola&, int);
int desencola(struct cola&);
void vercola(struct cola);
void main()
{int n,opc;
struct cola q;
struct cola r;
iniciar(q);
iniciar(r);
do{
cout<<"1. Insertar Elementos"<<endl;
cout<<"2. Retirar Elementos "<<endl;
cout<<"3. Ver Cola"<< endl;
cout<<"4. Salir" <<endl;
cout<<"Ingrese opcion:";
cin>>opc;
switch(opc)
{
case 1 : cout<<"Elementos:"<<endl;
cin>>n;
insertar(q,r,n);
break;
case 2: if(q.adelante!=NULL)
{n=desencola(q);
cout<<"Desencola elementos"<<endl;}
else
cout<<"No hay elementos en la cola"<<endl;
break;
case 3: cout<<"***Elementos de la cola***"<<endl;
vercola(q);
cout<<"***Elementos que se repiten***"<<endl;
vercola(r);
getch();
break;
}
clrscr();
}while(opc!=4);
}
void iniciar(struct cola&q)
{q.adelante=NULL;
q.atras=NULL;
}
void insertar(cola &cola1,cola &cola2, int n)
{
nodo *aux;
bool conf=false;
aux=cola1.adelante;
while(aux!=NULL)
{

if(aux->nro==n)
{
conf=true;
break;
}
aux=aux->sgte;
}
if(conf==false)
{
encola(cola1,n);
}
else
{
encola(cola2,n);
}
}
void encola(struct cola &q,
{
struct nodo *p;
p=new (struct nodo);
p->nro=n;
p->sgte=NULL;
if(q.adelante==NULL)
q.adelante=p; //ingresa el
else
(q.atras)->sgte=p;// si no
q.atras=p;// la cola apunta
}

int n)

primer elemento
apunta a un nuevo nodo
al ultimo elemento recientemente ingresado

//ELIMINA ELEMENTOS EN LA COLA


int desencola(struct cola &q)
{
struct nodo *p;
p=q.adelante;// apunta al primer elemento
int n=p->nro;
q.adelante=(q.adelante)->sgte;
delete(p);
return n;
}
void vercola(struct cola q)
{
struct nodo *p;
p=q.adelante;// apunta al primer elementos
while(p!=NULL)
{
cout<<p->nro<<endl;
p=p->sgte;
}
}
///ingresar sexo de una persona y clasificar si es hombre o mujer///
#include<iostream.h>
#include<conio.h>
struct nodo{
char nombre[20];
char sexo;
struct nodo*sgte;

};
struct cola{
struct nodo*adelante;
struct nodo*atras;
};
void inicializar(struct cola&);
void encola(struct cola&, struct nodo);
struct nodo(desencola(struct cola&));
void vercola(struct cola);
void main()
{int n,i;
struct nodo cte;
struct cola q;
struct cola qh;
struct cola qm;
inicializar(q);
inicializar(qh);
inicializar(qm);
cout<<"Numero de clientes:";
cin>>n;
for(i=0;i<n;i++)
{cout<<"Nombre :"; cin>>cte.nombre;
cout<<"Sexo[M/F]:"; cin>>cte.sexo;
encola(q,cte);
}
cout<<"***Cola Original***"<<endl;
vercola(q);
while(q.adelante!=NULL)
{cte=desencola(q);
if(cte.sexo=='M'|| cte.sexo=='m')
encola(qh,cte);
else
encola(qm,cte);
}
cout<<"***Cola de Hombres***"<<endl;
vercola(qh);
cout<<"***Cola de Mujeres***"<<endl;
vercola(qm);
getch();
}
void inicializar(struct cola&q)
{ q.adelante=NULL;
q.atras=NULL;
}
void encola(struct cola&q, struct nodo cte)
{struct nodo *p;
p=new(struct nodo);
*p=cte;
p->sgte=NULL;
if(q.adelante==NULL)
q.adelante=p;
else (q.atras)->sgte=p;
q.atras=p;
}
struct nodo desencola(struct cola&q)
{ struct nodo *p;
p=q.adelante;
struct nodo n=*p;
q.adelante=(q.adelante)->sgte;
delete(p);

return n;
}
void vercola(struct cola q)
{
struct nodo*p;
p=q.adelante;
while(p!=NULL)
{cout<<p->nombre<<endl;
p=p->sgte;
}
cout<<endl;
}

Anda mungkin juga menyukai