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: iExplanation / 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
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.