Sunday, 1 January 2017

Circular Queue

Program to implement a Curcular queue to accommodate the data from an array of structure


#include<iostream>

#include<process.h>

#define MAX 100

using namespace std;

//declaring the structure player


struct player{

int pid;

char pname[20];

};

//function to insert into the circular queue


void insert(player queue[], int &rear, int front, int value, char name[])

{


rear= (rear +1) % MAX; //positioning the rear to the next element




if(rear == front)

{

cout<<"The queue is full\n";

exit(0);

}

queue[rear].pid = value;

strcpy(queue[rear].pname,name);

}

//function to delete from the circular queue


void deleteQ(player queue[], int rear, int &front)

{

if(front == rear)

{

cout<<"The queue is empty\n";

exit(0);

}


front = (front + 1) % MAX; //positioning the front to remove the element




cout<<queue[front].pid<<" ";

cout<<queue[front].pname<<endl;

}

int main()

{

player queue[MAX];

int front,rear;


front=rear=0;//initializing the front and rear to point the first element




insert(queue,rear, front, 10,"Ashok");

insert(queue,rear, front, 20,"Ravi");

insert(queue,rear, front, 30,"Amit");

deleteQ(queue,rear, front);

deleteQ(queue,rear, front);

deleteQ(queue,rear, front);

}

No comments:

Post a Comment