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

language C++ Implement a Priority queue using a SORTED list. Use Quick sort afte

ID: 3802092 • Letter: L

Question

language C++

Implement a Priority queue using a SORTED list. Use Quick sort after adding a new node.

Create a class called Node: Have a Name and Priority.Data set - 10 is the highest priority, 1 is lowest priority.

Enqueue and dequeue in the following order.

Function  Name, Priority

Enqueue  Joe, 3

Enqueue  Fred,1

Enqueue Tuyet,9

Enqueue  Jose, 6

Dequeue

Enqueue  Jing, 2

Enqueue  Xi, 5

Enqueue  Moe, 3

DequeueEnqueue  Miko, 7

Enqueue Vlady, 8

Enqueue Frank, 9

Enqueue  Anny, 3

DequeueEnqueue  Xi, 2

Enqueue  Wali, 2

Enqueue  xChe, 6

Enqueue  xVerra, 8

Dequeue

Dequeue

Dequeue

Dequeue

Dequeue

Dequeue

Dequeue

Dequeue

Dequeue

Dequeue

Dequeue

Explanation / Answer

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;

struct node
{
   int priorityqueue;
   int information;
   struct node *link;
};

class Priority
{
private:
node *frnt;
public:
Priority()
{
frnt = NULL;
}

void insert(int item, int priority)
{
node *temp, *q;
temp = new node;
temp->info = item;
temp->priority = priority;
if (front == NULL || priority < frnt->priority)
{
tmp->link = front;
frnt = tmp;
}
else
{
q = frnt;
while (q->link != NULL && q->link->priority <= priority)
q=q->link;
tmp->link = q->link;
q->link = tmp;
}
}

void delete()
{
node *temp;
if(front == NULL)
cout<<"Queue Underflow ";
else
{
temp = front;
cout<<"Deleted item is: "<<tmp->info<<endl;
frnt = frnt->link;
free(temp);
}
}

void display()
{
node *ptr;
ptr = frnt;
if (front == NULL)
cout<<"Queue is empty ";
else
{   cout<<"Queue is : ";
cout<<"Priority Item ";
while(ptr != NULL)
{
cout<<ptr->priority<<" "<<ptr->info<<endl;
ptr = ptr->link;
}
}
}
};

int main()
{
int choice, item, priority;
Priority_Queue pq;
do
{
cout<<"A.Insert ";
cout<<"B.Delete ";
cout<<"C.Display ";
cout<<"D.Quit ";
cout<<"Enter your choice : ";
cin>>choice;
switch(choice)
{
case 1:
cout<<"Input the item value to be added in the queue : ";
cin>>item;
cout<<"Enter its priority : ";
cin>>priority;
pq.insert(item, priority);
break;
case 2:
pq.delete();
break;
case 3:
pq.display();
break;
case 4:
break;
default :
cout<<"Wrong choice ";
}
}
while(choice != 5);
return 0;
}