Share on Google+Share on Google+

Circular queue implementation using array.

Advertisement
This tutorial demonstrate the circular queue implementation using array in c language.

Code:

#include <stdio.h>
#define MAX 5
#include <stdlib.h>

void insert(int queue[], int *rear, int front, int value)
{
  *rear= (*rear +1) % MAX;
  if(*rear == front)
  {
	printf("The queue is full\n");
	exit(0);
  }
	queue[*rear] = value;
}

void deleteQ(int queue[], int *front, int rear, int * value)
{
	if(*front == rear)
	{
		printf("The queue is empty\n");
        	exit(0);
        }
        *front = (*front + 1) % MAX;
        *value = queue[*front];
}

void main()
{
        int queue[MAX];
        int front,rear;
        int n,value;
        front=0; rear=0;
      do
      {

        do
        {
          printf("Enter the element to be inserted\n");
          scanf("%d",&value);
          insert(queue,&rear,front,value);
          printf("Enter 1 to continue\n");
          scanf("%d",&n);
        } while(n == 1);
        
        printf("Enter 1 to delete an element\n");
        scanf("%d",&n);
          while( n == 1)
          {
	  deleteQ(queue,&front,rear,&value);
          printf("The value deleted is %d\n",value);
          printf("Enter 1 to delete an element\n");
          scanf("%d",&n);
          }
        printf("Enter 1 to continue\n");
        scanf("%d",&n);
      } while(n == 1);
 }

Output:

Download this code

Advertisements

Advertisement

Posted on: June 19, 2010 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Share this Tutorial Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.