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