A double-ended queue(deque) is a linear list in which additions and deletions may be made at either end. Obtain a data representation mapping a deque into a one-dimensional array. Write C++ program to simulate deque with functions to add and delete elements from either end of the deque.

A double-ended queue(deque) is a linear list in which additions and deletions may be made
at either end. Obtain a data representation mapping a deque into a one-dimensional array.
Write C++ program to simulate deque with functions to add and delete elements from either
end of the deque.

OUTPUT FOR THE PROGRAM
#include<iostream> //Header Files
using namespace std;

char que[5]; //.......Double Ended Queue
int size = 5; //.......Size of Queue
int front = -1; //.......Front End
int rear = -1; //.......Rear End

int que_full() //.......To check Queue is Full
{
   if (rear == size-1)
      return 1;
   else
      return 0;
}

int que_empty() //.......To check Queue is Empty
{
   if(front == rear == -1 || front == rear)
      return 1;
   else
      return 0;
}

void insert_AtRear(char job) //.......To Insert at Rear in DEQueue
{
   rear++;
   que[rear] = job;
}

void insert_AtFront(char job) //.......To Insert at Front in DEQueue

   que[front] = job;
   front--;
}
   
char del_AtFront() //.......To Delete From Front From DEQueue
{
   char ch;
 
   front++;
   ch = que[front];
 
   return ch;
}

char del_AtRear() //.......To Delete From Rear From DEQueue
{
   char ch;
 
   ch = que[rear];
   rear--;
 
   return ch;
}


void display() //.......To Display Queue.
{
   cout<<"\n\n Front--->  ";
   for(int i = front+1;i <= rear;i++)
      cout<<"  "<<que[i];
   
   cout<<"  <---Rear"; 
}


int main()
{
     int choice;
     char job,ans;
   
     do
     {
     cout<<"\n\n ** Menu **";
     cout<<"\n\n 1. Insert at Rear in DEQueue";
     cout<<"\n\n 2. Delete From Front in DEQueue";
     cout<<"\n\n 3. Insert at Front in DEQueue";
     cout<<"\n\n 4. Delete From Rear in DEQueue"; 
     cout<<"\n\n 5. Display DEQueue"; 
                   
   
     cout<<"\n\n Enter your choice:  ";                       
     cin>>choice;
   
     switch(choice)
     {
        case 1: cout<<"\n\n Enter the Job:  ";
      cin>>job;
        insert_AtRear(job);
        break;

        case 2: cout<<"\n\n Deleted Job:  "<<del_AtFront();
        break;

        case 3: cout<<"\n\n Enter the Job:  ";
      cin>>job;
        insert_AtFront(job);
        break;

        case 4: cout<<"\n\n Deleted Job:  "<<del_AtRear();
        break;

        case 5: display();
        break;
       
        default: cout<<"\n\n Invalid choice.....!!!";
     }
     cout<<"\n\n Do u wanna continue ?? (y/n) : ";
     cin>>ans;
     }while(ans == 'y');
   
     cout<<"\n\n";
     return 0;
}  

For more such posts click the link:-http://svencrai.com/G8W

Comments

Popular posts from this blog

A book shop maintains the inventory of books that are being sold at the shop. The list includes details such as author, title, price, publisher and stock position. Whenever a customer wants a book, the sales person inputs the title and author and the system searches the list and displays whether it is available or not. If it is not, an appropriate message is displayed. If it is, then the system displays the book details and requests for the number of copies required. If the requested copies book details and requests for the number of copies required. If the requested copies are available, the total cost of the requested copies is displayed; otherwise the message ?Required copies not in stock? is displayed. Design a system using a class called books with suitable member functions and Constructors. Use new operator in constructors to allocate memory space required. Implement C++ program for the system

Imagine a publishing company which does marketing for book and audiocassette versions. Create a class publication that stores the title (a string) and price (type float) of a publication. From this class derive two classes: book, which adds a page count (type int), and tape, which adds a playing time in minutes (type float). Write a program that instantiates the book and tape classes, allows user to enter data and displays the data members.

Write C++ program for storing appointment schedule for day. Appointments are booked randomly using linked list. Set start and end time and min and max duration for visit slot. Write functions for- a)Display free slots b)Book appointment c)Cancel appointment ( check validity, time bounds, availability etc) d)Sort list based on time e)Sort list based on time using pointer manipulation