Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

#ifndef _HEAP_H_ #define _HEAP_H_ #include #include // This class implements an unbounded max heap. // class invariant: heap property is satisfied for a max heap

#ifndef _HEAP_H_ #define _HEAP_H_

#include #include

// This class implements an unbounded max heap.

// class invariant: heap property is satisfied for a max heap

template class heap { public: heap(); // postcondition: empty heap has been created unsigned int size() const; // postcondition: number of elements in a heap has been returned bool is_empty() const; // postcondtion: returned whether the heap is empty void insert (const T& item); // postcondition: item has been added void remove(); // precondition: heap is not empty // postcondition: largest item has been removed from the heap T max() const; // precondition: heap is not empty // postcondition: copy of largest element in the heap has been returned T& max(); // precondition: heap is not empty // postcondition: access to largest element in the heap has been returned private: std::vector v; unsigned int max_child (unsigned int index) const; // precondition: element at index has children // postcondition: index of the larger child has been returned // if there is only 1 child - index of that child has been returned };

#include "heap.template"

#endif // _HEAP_H_

#ifndef _PRIORITY_QUEUE_H #define _PRIORITY_QUEUE_H

#include "heap.h"

template class priority_queue { public: priority_queue(); // postcondition: empty priority_queue has been created void pop(); // precondition: priority_queue is not emtpy // postcondition: highest priority item has been removed void push (const T& item); // postcondition: item has been inserted bool empty () const; // postcondition: returned whether priority queue is empty unsigned int size() const; // postcondition: returned number of items in the priority queue T top() const; // precondition: priority queue is not empty // postcondition: copy of highest priority item has been returned private: heap h; };

#include "priority_queue.template"

#endif // _PRIORITY_QUEUE_H

Using the above heap header and queue header, I need to construct a priority queue using a vector as opposed to a dynamic array. This is based off of question 2 in chapter 11 in Data Structures and Other Objects Using C++

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

Beginning VB 2008 Databases

Authors: Vidya Vrat Agarwal, James Huddleston

1st Edition

1590599470, 978-1590599471

More Books

Students also viewed these Databases questions

Question

What is Change Control and how does it operate?

Answered: 1 week ago

Question

How do Data Requirements relate to Functional Requirements?

Answered: 1 week ago