Question
Solution Preview
This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.
#ifndef BINARYHEAP_H#define BINARYHEAP_H
#include<vector>
#include <iostream>
using namespace std;
template <typename Comparable>
class BinaryHeap
{
public:
explicit BinaryHeap( int capacity = 100);
bool isEmpty( ) const;
const Comparable & findMin( ) const;
const Comparable & findMax( ) const;
void insertHeap( const Comparable & x );
void deleteMin( );
void deleteMax( );
void buildHeap(const vector<Comparable> & input );
bool level(int hole);
private:
int currentSize; // Number of elements in heap
vector<Comparable> array; // The heap array
void minUp(int hole);// reset item of heap from the current hole upward in min order
void maxUp(int hole); // reset item of heap from the current hole upward in max order
void minDown(int hole);// reset item of heap from the current hole downward in min order
void maxDown(int hole);// reset item of heap from the current hole downward in max order
void swap(Comparable & c1, Comparable & c2);// swap value of 2 variable
};...