Pages - Menu

Tuesday, 22 July 2014

Implementation of Queue in C.

Here is the code..

/*
  AIM :TO PERFORM OPERATIONS ON SIMPLE QUEUE */
#include<stdio.h>
#include<stdlib.h>
#define m 10
int a[m],b[m/2],front=-1,rear=-1,i=0;
void insert();
void del();
void traverse();
void main()
{int c;
clrscr();
printf("1:INSERTION\t2:DELETION\t3:TRAVERSAL\n");
printf("4:EXIT\n");
while(1)
{printf("Enter your choice\t");
scanf("%d",&c);
switch(c)
{
case 1: insert();
break;
case 2: del();
break;
case 3: traverse();
break;
case 4: 
exit(1);
break;
default:printf("TRY AGAIN\n");
break;
}
}
}
void insert()
{int item;
if(rear==(m-1))
{printf("Overflow can not insert\n");
return;
}
if(front==-1 && rear==-1)
front=0;
rear=rear+1;
printf("Enter the value to insert\t");
scanf("%d",&item);
a[rear]=item;
}
void del()
{if(front==-1&&rear==-1)
{printf("Underflow Queue is empty\n");
return;
}
b[i]=a[front];
i++;
a[front]=0;
if(rear==front)
rear=front=-1;
else
front++;
printf("Item deleted\t%d\n",b[i-1]);
}

void traverse()
{int j;
if(front==-1||rear==-1)
{printf("Queue is empty\n");
return;
}
for(j=front;j<=rear;j++)
printf("%d\t",a[j]);
printf("\n");
}

For Turbo C users.
/*
  AIM :TO PERFORM OPERATIONS ON SIMPLE QUEUE */
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define m 10
int a[m],b[m/2],front=-1,rear=-1,i=0;
void insert();
void del();
void traverse();
void main()
{int c;
clrscr();
printf("1:INSERTION\t2:DELETION\t3:TRAVERSAL\n");
printf("4:EXIT\n");
while(1)
{printf("Enter your choice\t");
scanf("%d",&c);
switch(c)
{
case 1: insert();
break;
case 2: del();
break;
case 3: traverse();
break;
case 4: getch();
exit(1);
break;
default:printf("TRY AGAIN\n");
break;
}
}
}
void insert()
{int item;
if(rear==(m-1))
{printf("Overflow can not insert\n");
return;
}
if(front==-1 && rear==-1)
front=0;
rear=rear+1;
printf("Enter the value to insert\t");
scanf("%d",&item);
a[rear]=item;
}
void del()
{if(front==-1&&rear==-1)
{printf("Underflow Queue is empty\n");
return;
}
b[i]=a[front];
i++;
a[front]=0;
if(rear==front)
rear=front=-1;
else
front++;
printf("Item deleted\t%d\n",b[i-1]);
}

void traverse()
{int j;
if(front==-1||rear==-1)
{printf("Queue is empty\n");
return;
}
for(j=front;j<=rear;j++)
printf("%d\t",a[j]);
printf("\n");
}

No comments:

Post a Comment