Assignment 6 priority queue and selection sort


Alter your priority queue so it maintains priority using a Selection Sort. The highest priority should be given to nodes with larger values (ordered largest to smallest). Basically, sort your Priority Queue using a Selection Sorting algorithm each time the enqueue function is called. The priority queue should be written using a C++ class, named PQueue, and the queue itself should be implemented as a linked list.

The following classes should be defined by your program:

class Person : Used to store information about each person

class PQueue : Priority queue used to serve people The following public functions need to be implemented:

{`Person::Person( int, string ):	Initialize the person
PQueue::PQueue( void )	     :	Initialize the priority	queue
bool PQueue:                 :empty( void ) : Test whether queue is empty 
int PQueue::size( void )     :	Return	size 
Person* PQueue::front( void ):	Access	next node 
Person* PQueue::back( void ):	Access	last node 
void PQueue::enqueue( Person* )	: Insert node 
void PQueue::dequeue( void ) :	Remove node 

The following private functions need to be implemented:

void sort( void ): Sort linked list using selection sorting algorithm