Entrada y salida de cola.
¿Qué tipo de operación significa mostrar los elementos en la cola?
Escribí uno, pero no obtuvo ningún punto. Realmente apagó mi entusiasmo
#include
#include.
usando el espacio de nombres std;
typedef struct qnode{ //Estructura de almacenamiento
int data;
struct qnode *next;
p>}qnode,*queueptr;
typedef struct {
queueptr front ;
queueptr rear; p>
}linkqueue ;
int initqueue(linkqueue &q) //Crear una cola vacía
{
q.rear =q.front = (queueptr)malloc(sizeof(qnode ));
q.front ->next =0;
devuelve 1;
}
int enqueue(linkqueue &q, int e) //Insertar elemento
{
queueptr p;
p=(queueptr)malloc(sizeof(qnode ));
p->datos =e; p->siguiente =0;
q.rear ->siguiente =p;q.rear =p;
return 1;
p>}
int dequeue(linkqueue &q,int &e) //Eliminar el elemento final de la cola
{
queueptr p;
p=(queueptr)malloc(sizeof(qnode));
p=q.front ->siguiente ;
e=p->datos ;
q.front ->siguiente =p ->siguiente ;
if(q.rear ==p)q.rear =q. frente ;
libre(p );
retorno 1;
}
int creatqueue(linkqueue &q,int n) // Construya una cola que contenga n elementos
{
int i=1,e=0;
for(;i<=n;i++)
{
cin>>e;
enqueue(q,e);
}
devuelve 1;
}
int destoyqueue(linkqueue &q) // Destruye la cola
{
while(q.front )
{
q.trasero =q.front ->siguiente ;
libre(q.front );
q.front =q.trasero ;
} p>
return 1;
}
int print(linkqueue q) /
{
int e=0;
while(q.rear!=q.front){
dequeue( q,e);cout< } return 1; } void main( ) { int e=0; linkqueue q; initqueue(q); creatqueue(q,5); print(q); cout< dequeue(q,e);cout< print(q); cout< destoyqueue(q); } p> Depuralo tú mismo un poco. Utiliza el método de representación de cola en cadena