#include<stdio.h>
#include<conio.h>
#define MAX 5
void main()
{
int Q[MAX],item;
int front,rear,response,choice;
clrscr();
front = rear = -1;
do
{
printf("\n 1. Insert into Q");
printf("\n 2. Delete from Q");
printf("\n 3. Exit");
printf("\nSelect your choice :");
scanf("%d",&choice);
switch(choice)
{
case 1 :
printf("\nEnter item : ");
scanf("%d",&item);
response = insert(Q,&rear,&item);
if ( response == - 1)
printf("Queue is full");
else
printf("Inserted item in Q");
break;
case 2 :
response = delete(Q,&front,&rear,&item);
if ( response == -1 )
printf("Queue is empty ");
else
printf("Deleted item is : %d", item);
break;
case 3 : exit(0);
}
} while(1);
}
int insert(int Q[MAX], int *rear , int *item)
{
if ( *rear == MAX -1 )
return(-1);
else
{
*rear = *rear + 1;
Q[*rear] = *item;
return(1);
}
}
int delete( int Q[MAX], int *front, int *rear , int *item)
{
if ( *front == *rear)
return(-1);
else
{
(*front)++;
*item = Q[*front];
return(1);
}
}
Saturday, 28 April 2012
Linked List Implementation of a Queue in C
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment