using array
#include <stdio.h>
int queue[50],size,front=0,last=0,i;
int main()
{
int ch;
int i;
void enque();
void deque();
void display();
int isfull();
int isempty();
printf(“enter size of queue”);
scanf(“%d”,&size);
do
{
printf(“enter your choice”);
printf(“1.enque”);
printf(“2.deque”);
printf(“3.display”);
printf(“4.exit”);
scanf(“%d”,&ch);
switch(ch)
{
case 1:enque();
break;
case 2:deque();
break;
case 3:display();
break;
case 4:exit(0);
break;
default:printf(“enter valid choice”);
}
}while(ch<=5);
}
void enque()
{
if(isfull())
{
printf(“overflow”);
}
else
{
int ele;
printf(“enter element “);
scanf(“%d”,&ele);
queue[last]=ele;
last++;
}
}
void deque()
{
int ele;
if(isempty())
{
printf(“underflow”);
}
else
{
ele=queue[front];
front++;
printf(“%d is deleted “,ele);
}
}
void display()
{
if(isempty())
{
printf(“queue is empty”);
}
else
{
printf(“elements in queue are”);
for(i=front;i<last;i++)
{
printf(“%d”,queue[i]);
}
}
}
int isfull()
{
if(last==size)
{
return 1;
}
else
{
return 0;
}
}
int isempty()
{
if(front==last)
{
return 1;
}
else
{
return 0;
}
}
using linked list
#include <stdio.h>
#include <stdlib.h>
typedef struct queue
{
int data;
struct queue *link;
}node;
node *front=NULL,*last=NULL;
int main()
{
void enque();
void deque();
void display();
int ch;
char op;
//printf(“enter your choice”);
printf(“1.enque”);
printf(“2.deque”);
printf(“3.display”);
printf(“4.exit”);
do
{
printf(“enter your choice”);
scanf(“%d”,&ch);
switch(ch)
{
case 1:enque();
break;
case 2:deque();
break;
case 3:display();
break;
case 4:exit(0);
break;
default:printf(“enter valid choice”);
}
}while(ch<4);
return 0;
}
void enque()
{
node *newnode;
int dp;
printf(“enter datapart”);
scanf(“%d”,&dp);
newnode=(node*)malloc(sizeof(node));
newnode->data=dp;
newnode->link=NULL;
if(front==NULL&&last==NULL)
{
front=newnode;
last=newnode;
}
else
{
last->link=newnode;
last=newnode;
}
}
void deque()
{
node *temp;
if(front==last)
{
printf(“queue is empty”);
}
else
{
temp=front;
printf(“deleted element is %d”,temp->data);
front=front->link;
free(temp);
}
}
void display()
{
node *temp=front;
printf(“front->”);
while(temp!=NULL)
{
printf(“%d->”,temp->data);
temp=temp->link;
}
}