Queue implementation
Queue.h
/////////////////////////////////////////////////////////////
int QueueEmpty(void); //=1,if Q is empty.=0,otherwise
int QueueFull(void); //=1,if Q is full.=0,otherwise
void QueueAddItem(int item);//Add item to Queue
int QueueRemoveItem(void); //Remove an item off the Queue
int QueueFrontItem(void); //Return First Item on Queue
//////////////////////////////////////////////////////////////
Queue.c
/////////////////////////////////////////////////////////////////
#include<stdio.h>
#include"Queue.h"
#define size 10
int Array[size]; int front=1;int back=0;
////////////////////////////////////////////////
int QueueEmpty(void)
{
if(front==(back+1)%size)
{return 1;}
return 0;
}
///////////////////////////////////////////////////
int QueueFull(void)
{
if(front==(back+2)%size)
{return 1;}
return 0;
}
////////////////////////////////////////////////////
void QueueAddItem(int item)
{
if(QueueFull()==1)
{printf("Error:Queue is full\n \a"); return;}
Array[back=(back+1)%size]=item;
}
///////////////////////////////////////////////////////
int QueueFrontItem()
{
if(QueueEmpty()==1)
{printf("Error:Queue is Empty");
return -1;
}
return Array[front];
}
////////////////////////////////////////////////////////
int QueueRemoveItem()
{
int item;
if(QueueEmpty()==1)
{
printf("Error:Queue is Empty\n"); return -1;
}
item=Array[front];
front=(front+1)%size;
return item;
}
////////////////////////////////////////////////////////
QueueMain.c
////////////////////////////////////////////////////////////
#include"Queue.h"
#include<stdio.h>
int main(void)
{
char buf[100]; int i;
printf("Enter a string");
gets(buf);
for(i=0;buf[i]!=0;++i)
{
QueueAddItem(buf[i]);}
printf("Queue Items:");
while(QueueEmpty()==0)
{printf("%c",QueueRemoveItem());}
printf("\n");
return 0;
}