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

C++ ***Please include makefile*** Requirements: You should name your Prority Que

ID: 3862663 • Letter: C

Question

C++
***Please include makefile***
Requirements: You should name your Prority Queue class as PQ. The queue must be able to hold unlimited number of integers. It has two key operations: Push and Pop, which should have the time complexity of O(logn). Files to turn in: You need to turn in four files: makefile, main.C, PQ.C, PQ.h. You should have a main.C that reads in or generates some integers, pushes them into the PQ one by one, and pops and prints them until the PQ is empty. Grading The total points is 12, you will get full credit if you correctly implement it using tree structure, 6 points if you correctly implement it using array. No late turn in is acceptable, any late turn in will be given 0 points. Your code must be compilable on Linux/Unix, any code that cannot be compiled by g++ will automatically get ZERO points. C++
***Please include makefile***
Requirements: You should name your Prority Queue class as PQ. The queue must be able to hold unlimited number of integers. It has two key operations: Push and Pop, which should have the time complexity of O(logn). Files to turn in: You need to turn in four files: makefile, main.C, PQ.C, PQ.h. You should have a main.C that reads in or generates some integers, pushes them into the PQ one by one, and pops and prints them until the PQ is empty. Grading The total points is 12, you will get full credit if you correctly implement it using tree structure, 6 points if you correctly implement it using array. No late turn in is acceptable, any late turn in will be given 0 points. Your code must be compilable on Linux/Unix, any code that cannot be compiled by g++ will automatically get ZERO points. C++
***Please include makefile***
Requirements: You should name your Prority Queue class as PQ. The queue must be able to hold unlimited number of integers. It has two key operations: Push and Pop, which should have the time complexity of O(logn). Files to turn in: You need to turn in four files: makefile, main.C, PQ.C, PQ.h. You should have a main.C that reads in or generates some integers, pushes them into the PQ one by one, and pops and prints them until the PQ is empty. Grading The total points is 12, you will get full credit if you correctly implement it using tree structure, 6 points if you correctly implement it using array. No late turn in is acceptable, any late turn in will be given 0 points. Your code must be compilable on Linux/Unix, any code that cannot be compiled by g++ will automatically get ZERO points.

Explanation / Answer

pq.c
-------------------------------------
#Define pq.h

class pq
{
   int a[SIZE];
   int front;
   int rear;
public:
   pq();
   ~pq();
   void push(int i);
   int pop();
   int isempty();
   int isfull();
};

pq::pq()
{
front=0;
rear=0;
}
pq::~pq()
{
delete []a;
}
void pq::push(int i)
{
if(isfull())
{
   cout<<"Queue is FULL !!!No insertion allowed further";
   return;
}
a[rear] = i;
rear++;
}
int pq::pop()
{
if(isempty())
{
   cout<<"Queue Empty !!!Value returned will be garbage";
   return (-9999);
}

return(a[front++]);
}
int queue::isempty()
{
if(front == rear)
   return 1;
else
   return 0;
}
int queue::isfull()
{
if(rear == SIZE)
   return 1;
else
   return 0;
}
main.c
------------------------------------------------------------------
# include<iostream.h>
# include<conio.h>
#include<pq.h>

void main()
{
int ch;
pq queue;
while(1)
{
cout <<" 1.push 2.pop 3.exit Enter ur choice";
cin >> ch;
switch(ch)
{
case 1: cout <<"enter the element";
    cin >> ch;
queue.push(ch);
break;
case 2: queue.pop(); break;
case 3: exit(0);
}
}
return (0);

}