Queue using Arrays:
- Array is a linear representation of elements
- We can implement queue operations simply using array concept
- Array can be represented as Queue with logic implementation
- We perform all operations on Queue using functions
#include<stdio.h>
#define SIZE 5
int queue[SIZE], front=0 , rear=0 ;
void insert(int ele);
int delete(void);
int isFull(void);
int isEmpty(void);
void display(void);
int main()
{
int ch, ele ;
while(1)
{
printf("1. Insert \n");
printf("2. Delete \n");
printf("3. Display \n");
printf("4. Quit \n");
printf("Enter your choice : ");
scanf("%d", &ch);
switch(ch)
{
case 1 : printf("Enter element : ");
scanf("%d", &ele);
insert(ele);
break ;
case 2 : ele = delete();
if(ele)
{
printf("Deleted : %d \n",ele);
}
else
{
printf("Queue is empty \n");
}
break ;
case 3 : display();
break;
case 4 : exit(1);
default : printf("Invalid choice\n");
}
}
return 0 ;
}
void insert(int ele)
{
if(isFull())
{
printf("Queue is Full...\n");
}
else
{
queue[rear] = ele ;
rear++;
printf("Inserted...\n");
}
}
int delete(void)
{
if(isEmpty())
{
return 0 ;
}
else
{
int ele, i ;
ele = queue[front];
for(i=front ; i<rear-1 ; i++)
{
queue[i] = queue[i+1];
}
rear--;
return ele ;
}
}
int isFull(void)
{
if(rear == SIZE)
return 1 ;
else
return 0 ;
}
int isEmpty(void)
{
if(front==rear)
return 1 ;
else
return 0 ;
}
void display(void)
{
int i;
if(isEmpty())
{
printf("Queue is Empty\n");
}
else
{
printf("Queue elements are");
for(i=front ; i<rear ; i++)
{
printf("%d \n", queue[i]);
}
}
}