Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write your own class that implements a priority queue using a maximal heap. Use the following UML diagram and attribute descriptions. Place all the code

image text in transcribed

Write your own class that implements a priority queue using a maximal heap. Use the following UML diagram and attribute descriptions. Place all the code for the class in a single header file named HeapQueue.h heap: int -size: int .bottom: int +HeapQueue(s: int): +HeapQueue): +enqueue: int): void dequeue: void top):int ReHeapUp): void ReHeapDown(): void Class Attributes heap-a pointer that holds a dynamically allocated array of integers . size - stores the size of the aay .bottom - keeps track of the bottom of the heap constructor- accepts an integer as it's only argument and dynamically allocates an array with that many elements, stores the argument in size, and initializes bottom to -1. Address of the new array is stored in heap . destructor- deallocates the array . enqueue - if there's enough free space in the heap, adds it's argument to the heap. Throws an exception otherwise. . dequeue if the heap isn't empty, removes the top of the heap from the heap. Throws an exception otherwise top-returns a copy of the value on the top of the heap, doesn't change the heap in any way Throws an exception if the heap is empty ReHeapDown called by dequeue to rebuild the heap. . ReHeapUp - called by enqueue to rebuild the heap Notes: . The heap is empty if bottom is -1 The top of the heap is always in element 0. . None of the class methods interact with the user in any way (no cin or cout statements). Implement a maximal heap, meaning the top of the heap aways has the biggest value in the heap . Your class must use the listed attributes, and only those attributes . You can choose whatever type of exception you want to throw. . The methods don't catch them, they just throw them . Be sure to include preprocessor guards. . Be sure to mark accessors const. Submission Instructions Submit your class in it's own header file named HeapQueue.h

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Securing SQL Server Protecting Your Database From Attackers

Authors: Denny Cherry

2nd Edition

1597499471, 978-1597499477

More Books

Students also viewed these Databases questions