Array implementation of a circular queue, Data Structure & Algorithms

Assignment Help:

A circular queue can be implemented through arrays or linked lists. Program 6 gives the array implementation of any circular queue.

Program 6: Array implementation of any Circular queue

include "stdio.h"

void add(int);

void deleteelement(void);

int max=10;         /*the maximum limit for queue has been set*/

static int queue[10];

int front=0, rear=-1; /*queue is initially empty*/

void main()

{

int choice,x;

printf ("Enter # for insertion & $ for removal of front the queue and * for exit");

printf("Enter your choice");

 scanf("%d",&choice);

switch (choice)

{

case 1 :

printf ("Enter element for insertion in queue:");

scanf("%d",&x);

add(x);

break;

case 2 :

deleteelement();

break;

}

}

void add(int y)

{

if(rear == max-1)

rear = 0;

else

rear = rear + 1;

if( front == rear && queue[front] != NULL)

printf("Queue Overflow");

else

queue[rear] = y;

}

void deleteelement()

{

int deleted_front = 0;

if (front == NULL)

printf("Error - Queue empty");

else

{

deleted_front = queue[front];

queue[front] = NULL;

if (front == max-1)

front = 0;

else

front = front + 1;

}

}


Related Discussions:- Array implementation of a circular queue

Graph, multilist representation of graph

multilist representation of graph

Functions for inserting and deleting at either of the end, Q. Develop a rep...

Q. Develop a representation for a list where insertions and deletions can be done at either end. Such a structure is known as a Deque (Double ended queue). Write functions for inse

Define graph, A graph is a mathematical structure giving of a set of vertex...

A graph is a mathematical structure giving of a set of vertexes (v1, v2, v3) and a group of edges (e1, e2, e3). An edge is a set of vertexes. The two vertexes are named the edge en

What do you mean by hash clash, What do you mean by hash clash? Hashing...

What do you mean by hash clash? Hashing is not perfect. Occasionally, a collision occurs when two different keys hash into the same hash value and are assigned to the same arra

Two - way merge sort, Merge sort is also one of the 'divide & conquer' clas...

Merge sort is also one of the 'divide & conquer' classes of algorithms. The fundamental idea in it is to split the list in a number of sublists, sort each of these sublists & merge

Heap sort, We will start by defining a new structure called Heap. Figure 3 ...

We will start by defining a new structure called Heap. Figure 3 illustrates a Binary tree. Figure: A Binary Tree A complete binary tree is said to assure the 'heap con

Deletion of a node from an avl tree, For AVL trees the deletion algorithm i...

For AVL trees the deletion algorithm is a little more complicated as there are various extra steps involved in the deletion of node. If the node is not a leaf node, then it contain

Red-black trees, A Red-Black Tree (RBT) is a type of Binary Search tree wit...

A Red-Black Tree (RBT) is a type of Binary Search tree with one extra bit of storage per node, i.e. its color that can either be red or black. Now the nodes can have any of the col

Circular linked list, In a circular linked list There is no beginning a...

In a circular linked list There is no beginning and no end.

Explain binary search tree, Binary search tree. A binary search tree is...

Binary search tree. A binary search tree is a binary tree that is either empty or in which every node having a key that satisfies the following conditions: - All keys (if an

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd