Description
Objectives
● Implement a Priority Queue using a Heap with an array as the underlying
data structure
● Add element to Heap
● Remove element from Heap
Background
Hospital Emergency Room Waiting List
A hospital emergency room does not see patients on a first-come first-served (FIFO)
basis. Rather, the most urgent patients are seen before patients whose injuries are
less severe or non-life-threatening. You will implement a priority queue such that
patients with the most severe injuries are treated before those who can wait. You
will also track the total time that the ER doctors have spent treating patients. For
each patient in the priority queue, the following information is stored:
– Name
– Injury Severity (an integer, higher values represent higher priorities
for treatment)
– Treatment Time (time in minutes required to provide treatment)
Program Specifications
• Examples of the output formatting are shown in a later section of this document.
• Your priority queue will be implemented in a class based on the provided
PriorityQueue.hpp.
• You will also implement a driver program with menu functionality.
• Your program will read in the maximum queue size from the first command line
argument.
• When attempting to add a new patient, if the priority queue is full, those
patient(s) will be sent to another hospital.
• Your program will give users the option to read patient information from a text
file. This text file could represent a list of those injured in a major incident, such
as a fire or other calamity, and are being transported by ambulance. The text file
will have a header line, followed by patient information. Patient information will
be stored one patient per line. There is no maximum number of patients that
may be stored in the text file. Note that patient names will not have spaces.
Information on each line will consist of name, followed by injury severity,
followed by treatment time in minutes.
Example Text File: busCrashInjured.txt