Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Queue We need to create a queue of items defined by the following structure. str

ID: 3849618 • Letter: Q

Question

Queue We need to create a queue of items defined by the following structure. struct QueueItem { string fname: string lname: double salary: QueueItem *next: } Use the following class definition to create a queue. class Queue { private: QueueItem *front: QueueItem *back: bool isempty: public: Queue() { front = NULL: back = NULL: isempty = true: } void enque (QueueItem *item): void deque(): }: Queue my_queue: string fname, lname: double salary: QueueItem *Item = new QueueItem: while(fin > > fname > > lname > > salary) { item fname = fname: item lname = lname: item salary = salary: my_queue.enque(item): } for (int i = 0: i

Explanation / Answer

The answer is as follows:

#include<iostream.h>
#include<string>

struct QueueItem
{
   string fname;
   string lname;
   double salary;
   QueueItem *next;
};

class Queue
{
   private:
           QueueItem *front;
           QueueItem *back;
           bool isempty;
   public:
          Queue()
          {
             front = NULL;
             back = NULL;
             isempty = true;
          }        
          void enque(QueueItem *item)
          {
              if (isempty)
              {
                 item->next = NULL;
                 front = item;
                 back = item;
                 isempty = false;
              }
              else
              {
                item->next = NULL;
                back->next = item;
                back = item;
            
              }
          }
         void deque()
          {
              if (!isempty)
              {
                 cout << front->fname << " " << front->lname << " " << front->salary<< endl;
                 front = front->next;
                 if (front == NULL)
                 {
                    back = NULL;
                    isempty = true;
                 }
              }
          }
};


int main()
{
   Queue my_queue;
   string fname, lname;
   double salary;
   QueueItem *item = new QueueItem();
   ifstream fin;
   fin.open("Input.txt"); // Assuming the data is present in Input.txt in the same format as the output
   while (fin>>fname>>lname>>salary)
   {
       item->fname = fname;
       item->lname = lname;
       item->salary = salary;
       my_queue.enque(item);
   }

   for (int i=0; i<9; i++)
   {
       my_queue.deque();
   }


   return 0
}