Code:
//cai dat Queue bang mang
#include<stdio.h>
#include<conio.h>
#define Max 100
int Queue[Max + 1];
int Front, Rear, Queue_size;
void MakeNull_Queue(){
Front = Rear = 0;
Queue_size = 0;
}
int Empty_Queue(){
return (Queue_size ==0);
}
int Full_Queue(){
return (Queue_size == Max);
}
int Push_Queue(int value){
if(Queue_size < Max)
{
Queue_size++;
Queue[Rear++] = value;
if(Rear == Max)
Rear=0;
}
return Rear;
}
int Pop_Queue(int *value)
{
if(Queue_size > 0)
{
*value = Queue[Front++];
if(Front>Max)
Front = 0;
Queue_size--;
}
return Front;
}
void main()
{
clrscr();
int k;
MakeNull_Queue();
printf("\n Nhap cac phan tu vao Queue (-1 de ket thuc) :");
do{
scanf("%d", &k);
if(k!= -1)
Push_Queue(k);
}
while (k != -1 && !Full_Queue());
printf("\n Lay cac phan tu tu Queue ra : ");
while (!Empty_Queue())
{
Pop_Queue(&k);
printf("\t %d", k);
}
getch();
}