Programación de puesta en cola de bucles
Se adjunta el siguiente código. VC 6.0 se ejecuta correctamente
Consúltelo.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#includelt ; stdio.hgt ;
#includelt;stdlib.hgt;
#define Maxsize 100
typedef int Elemtype;
typedef estructura
{ Elemtype data[Maxsize];
int front, rear;
}sqqueue;
void initsqqueue(sqqueue *amp; Q)// Inicializar cola
{ Q=(sqqueue *)malloc(sizeof(sqqueue));
Q-gt; front=Q-gt; /p>
for(int i=0; ilt; Maxsize/10-1; i )
{ Q-gt; front=(Q-gt; front 1)(Maxsize/10) ;
Q-gt; datos[Q-gt; frente]=i
}
}
void sqqueue_empty(sqqueue *Q)/ /Juzgar elementos de la cola
{ if(Q-gt; front==Q-gt; rear)
printf("¡La cola está vacía!\n");
else if((Q-gt; front 1)Maxsize==Q-gt; rear)
printf("¡La cola está llena!\n");
else
printf("El número de elementos en la cola es: d \n", Q-gt; front-Q-gt; rear
}<); /p>
void enqueue(sqqueue *amp; Q, Elemtype e)//Enqueue
{ if ((Q-gt; front 1)Maxsize==Q-gt; rear) p>
printf("¡La cola está llena!\n");
else
{ Q-gt; front=(Q-gt; front 1)Maxsize; /p>
Q-gt; datos[Q-gt; front]=e
}
}
void dequeue(sqqueue *amp ; Q, Elemtype e )//Dequeue
{ if(Q-gt; front==Q-gt; rear)
printf("¡La cola está vacía!\n" );
else
{ Q-gt; rear=(Q-gt; rear 1)Maxsize;
printf("El elemento retirado de la cola es: d \n", Q-gt;data[Q-gt;rear]);
}
}
/*void display(squeue *Q) //Mostrar cola
{ Q-gt; rear=Q-gt; rear(Maxsize/10);
int i=Q-gt; >}*/
vo
id destruir(sqqueue *amp; Q)
{ gratis(Q);}
void main()
{ sqqueue *p;
initsqqueue(p);
sqqueue_empty(p);
enqueue(p, 110);
dequeue(p, 0); p> p>
destruir(p);
}