Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Convertir de colas a listas encadenadas

Estas en el tema de Convertir de colas a listas encadenadas en el foro de C/C++ en Foros del Web. Soy nuevo en el foro y necesito ayuda tengo que hacer este programa usando listas encadenadas pero usandolas como si fueran colas . ojala me ...
  #1 (permalink)  
Antiguo 27/10/2009, 06:10
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
Convertir de colas a listas encadenadas

Soy nuevo en el foro y necesito ayuda
tengo que hacer este programa usando listas encadenadas pero usandolas como si fueran colas.

ojala me puedan ayudar.

Código:
#include <stdio.h>
#include <conio.h>
# define MAXQUEUE 10
struct queue{
char items[MAXQUEUE];
int front,rear;
};
struct queue cola,cola2;
void insert(struct queue *pq,char x)
{if (pq->rear==MAXQUEUE-1)
pq->rear=0;
else
(pq->rear)++;
if(pq->front==pq->rear)
{
printf("\nEstacionamiento Lleno");
getche();
(pq->rear--);
}//if
else
pq->items[pq->rear]=x;
}//insert
char remove(struct queue *pq)
{
if(pq->front==pq->rear)
printf("\nEstacionamiento Vacio");
else
{if(pq->front==MAXQUEUE-1)
pq->front=0;
else
(pq->front)++;
return(pq->items[pq->front]);
}
}//remove
void main()
{
cola.front=MAXQUEUE-1;
cola.rear=MAXQUEUE-1;
cola2.front=MAXQUEUE-1;
cola2.rear=MAXQUEUE-1;
char placas,x;
int i,opc,band=0;
do
{
clrscr();
printf("\nMenu:");
printf("\n1.Entrada de Auto");
printf("\n2.Salida de Auto");
printf("\n3.Mostrar Lista");
printf("\n4.Salir");
printf("\nOpcion:");
scanf("%d",&opc);
if(opc==1)
{
clrscr();
printf("\n\nPlacas:");
placas=getche();
insert(&cola,placas);
getche();
}//if1
if(opc==2)
{clrscr();
printf("\nPlacas");
placas=getche();
while(cola.front!=cola.rear)
{
x=remove(&cola);
if(x==placas)
{printf("\nCarro Encontrado");
printf("\nBuen Viaje!");
band=1;
}//if
else
insert(&cola2,x);
}
if(band==0)
{printf("\nCarro No Encontrado");
getche();}
cola.front=MAXQUEUE-1;
cola.rear=MAXQUEUE-1;
while(cola2.front!=cola2.rear)
{x=remove(&cola2);
insert(&cola,x);}//while
}//if2
if(opc==3)
{clrscr();
for(i=0;i<=MAXQUEUE-1;i++)
printf("\nAutos= %c",cola.items[i]);
getche();
}//if3
}//do
while(opc!=4);
}//main
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.