Home

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;
}







 

Hosted by www.Geocities.ws

1