Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Reheapdown

22/12/2020 Client: saad24vbs Deadline: 12 Hours

Lab8_PriorityQueue/Heap.h

#ifndef HEAPTYPE_H #define HEAPTYPE_H template <class ItemType> void swap(ItemType& one, ItemType& two); // Assumes ItemType is either a built-in simple type or a class // with overloaded relational operators. template<class ItemType> struct HeapType { void ReheapDown(int root, int bottom); void ReheapUp(int root, int bottom); //Extra HeapSort function with a variation of ReheapDown that takes three parameters. void HeapSort(int numValues); void ReheapDown(ItemType elements[], int root, int bottom); ItemType* elements; // Array to be allocated dynamically }; template <class ItemType> void Swap(ItemType& one, ItemType& two) { ItemType temp; temp = one; one = two; two = temp; } template<class ItemType> void HeapType<ItemType>::ReheapUp(int root, int bottom) // Post: Heap property is restored. { int parent; if (bottom > root) { parent = (bottom-1) / 2; if (elements[parent] < elements[bottom]) { Swap(elements[parent], elements[bottom]); ReheapUp(root, parent); } } } template<class ItemType> void HeapType<ItemType>::ReheapDown(int root, int bottom) // Post: Heap property is restored. { int maxChild; int rightChild; int leftChild; leftChild = root*2+1; rightChild = root*2+2; if (leftChild <= bottom) { if (leftChild == bottom) maxChild = leftChild; else { if (elements[leftChild] <= elements[rightChild]) maxChild = rightChild; else maxChild = leftChild; } if (elements[root] < elements[maxChild]) { Swap(elements[root], elements[maxChild]); ReheapDown(maxChild, bottom); } } } template<class ItemType> void HeapType<ItemType>::HeapSort(int numValues) // Pre: Struct HeapType is available. // Post: The elements in the array values are sorted by key. { int index; // Convert the array of values into a heap. for (index = numValues/2 - 1; index >= 0; index--) ReheapDown(elements, index, numValues-1); // Sort the array. for (index = numValues-1; index >=1; index--) { Swap(elements[0], elements[index]); ReheapDown(elements, 0, index-1); } } template<class ItemType> void HeapType<ItemType>::ReheapDown(ItemType elements[], int root, int bottom) // Post: Heap property is restored. { int maxChild; int rightChild; int leftChild; leftChild = root*2+1; rightChild = root*2+2; if (leftChild <= bottom) { if (leftChild == bottom) maxChild = leftChild; else { if (elements[leftChild] <= elements[rightChild]) maxChild = rightChild; else maxChild = leftChild; } if (elements[root] < elements[maxChild]) { Swap(elements[root], elements[maxChild]); ReheapDown(elements, maxChild, bottom); } } } #endif


Lab8_PriorityQueue/PQDr.cpp

Lab8_PriorityQueue/PQDr.cpp

//Ivan Temesvari

//4/1/2019

//Lab 8 driver

#include < iostream >

#include < fstream >

typedef int ItemType ;

#include "PQType.h"


using namespace std ;


int main ()

{

     //sample code for using a PQType

   ItemType item ;

   PQType < int > queue ( 50 );

  queue . Enqueue ( 5 );

  queue . Enqueue ( 10 );

  queue . Enqueue ( 4 );

  cout << queue << endl ;

   return 0 ;

}



Lab8_PriorityQueue/PQType.h

#ifndef PQTYPE_H #define PQTYPE_H // Definition of class PQType, which represents the Priority Queue ADT class FullPQ{}; class EmptyPQ{}; #include <iostream> #include "Heap.h" using namespace std; #define MAX_ITEMS 10 template<class ItemType> class PQType { public: PQType(); //default constructor PQType(int); // parameterized class constructor ~PQType(); // class destructor PQType operator=(const PQType& rhs); void MakeEmpty(); // Function: Initializes the queue to an empty state. // Post: Queue is empty. bool IsEmpty() const; // Function: Determines whether the queue is empty. // Post: Function value = (queue is empty) bool IsFull() const; // Function: Determines whether the queue is full. // Post: Function value = (queue is full) void Enqueue(ItemType newItem); // Function: Adds newItem to the rear of the queue. // Post: if (the priority queue is full) exception FullPQ is thrown; // else newItem is in the queue. void Dequeue(ItemType& item); // Function: Removes element with highest priority from the queue // and returns it in item. // Post: If (the priority queue is empty) exception EmptyPQ is thrown; // else highest priority element has been removed from queue. // item is a copy of removed element. template <class ItemPQ> friend ostream& operator<<(ostream& out, const PQType<ItemPQ>& pq); private: int length; HeapType<ItemType> items; int maxItems; }; template<class ItemType> PQType<ItemType>::PQType(){ maxItems = MAX_ITEMS; items.elements = new ItemType[maxItems]; length = 0; } template<class ItemType> PQType<ItemType>::PQType(int max) { maxItems = max; items.elements = new ItemType[maxItems]; length = 0; } template<class ItemType> PQType<ItemType> PQType<ItemType>::operator=(const PQType<ItemType>& rhs){ //assignment operator= if(this == &rhs){ return *this; } else{ //delete old contents of this delete [] items.elements; length = 0; maxItems = rhs.maxItems; items.elements = new ItemType[rhs.maxItems]; //copy new contents over to this from rhs int count = 0; while(count < rhs.length){ items.elements[count] = rhs.items.elements[count]; count++; } } return *this; } template<class ItemType> void PQType<ItemType>::MakeEmpty() { length = 0; } template<class ItemType> PQType<ItemType>::~PQType() { delete [] items.elements; } template<class ItemType> void PQType<ItemType>::Dequeue(ItemType& item) // Post: element with highest priority has been removed // from the queue; a copy is returned in item. { if (length == 0) throw EmptyPQ(); else { item = items.elements[0]; items.elements[0] = items.elements[length-1]; length--; items.ReheapDown(0, length-1); } } template<class ItemType> void PQType<ItemType>::Enqueue(ItemType newItem) // Post: newItem is in the queue. { if (length == maxItems) throw FullPQ(); else { length++; items.elements[length-1] = newItem; items.ReheapUp(0, length-1); } } template<class ItemType> bool PQType<ItemType>::IsFull() const // Post: Returns true if the queue is full; false, otherwise. { return length == maxItems; } template<class ItemType> bool PQType<ItemType>::IsEmpty() const // Post: Returns true if the queue is empty; false, otherwise. { return length == 0; } template <class ItemPQ> ostream& operator<<(ostream& out, const PQType<ItemPQ>& pq){ for(int i = 0; i < pq.length; i++){ out << pq.items.elements[i] << endl; } return out; } #endif


Applied Sciences

Architecture and Design

Biology

Business & Finance

Chemistry

Computer Science

Geography

Geology

Education

Engineering

English

Environmental science

Spanish

Government

History

Human Resource Management

Information Systems

Law

Literature

Mathematics

Nursing

Physics

Political Science

Psychology

Reading

Science

Social Science

Home

Blog

Archive

Contact

google+twitterfacebook

Copyright © 2019 HomeworkMarket.com

Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

University Coursework Help
Top Essay Tutor
Helping Hand
Writer Writer Name Offer Chat
University Coursework Help

ONLINE

University Coursework Help

Hi dear, I am ready to do your homework in a reasonable price.

$102 Chat With Writer
Top Essay Tutor

ONLINE

Top Essay Tutor

I have more than 12 years of experience in managing online classes, exams, and quizzes on different websites like; Connect, McGraw-Hill, and Blackboard. I always provide a guarantee to my clients for their grades.

$105 Chat With Writer
Helping Hand

ONLINE

Helping Hand

I am an Academic writer with 10 years of experience. As an Academic writer, my aim is to generate unique content without Plagiarism as per the client’s requirements.

$100 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

River community hospital case study solution - Domtar case study - What funeral service practice made refrigerated caskets obsolete - Its a sin to kill a mockingbird meaning - Worshipful company of arts scholars - ROLES - Ted talk the danger of a single story worksheet - Market Analysis - Case study - Factors affecting productivity in operations management - B 4a prokaryotic and eukaryotic cells answers - Ian rutledge books in order - Researchers endeavoring to conduct an online study - Aace class 4 estimate - Mr lyons blood brothers - Vold's theoretical criminology 7th edition ebook - Ethical dilemma in psychology case study - World elder abuse awareness day mn - PS490 Assignment 5 - Supposed healing tonic sold by hucksters - Gender Identity - Ispm 15 certificate validity - Spices assessment tool for older adults - Ms andrews hotel video - Capital Budgeting and Financial Analysis-Write annotated bibliography for two articles - 900 words - Exercise 4 accuracy and precision - Is a hawk a decomposer - Normanton dog training club - 03.05 media and politics assessment - Atom in greek means - Spring boot owasp top 10 - How to write a purpose statement for a research proposal - The Advantages and Limitations of Expert Reviews of Essay Writing Sites - IHP 525 5-3 Final Project Part II Milestone Three: Process and Calculations - Key Concepts of African religion and Native American religions - Customer satisfaction - Which of the following is the most appropriate beginning for a typical routine inquiry message? - Geraldo no last name short story pdf - Acupuncture informed consent form - Cisco cme sip phone configuration - Ap physics 1 review packet - Great western hospital address - What is a constitution yahoo answers - Steel beam deflection tables - Company cultures that spawn an ethically corrupt or amoral work climate encourage - And or xor not - Business Admnistration - Impact of team building exercises on team effectiveness - Recognise healthy body systems pdf - Huck finn chapter 17 - Gladys corner shoes adelaide - Pump handle bucket handle - Which of the following is an ineffective way to soften the blow of a bad-news message? - Project Management - The usefulness of mendeleev's periodic table was confirmed by - Uci software engineering catalogue - Personal and professional growth in nursing - Stonham aspal primary school - Mort management oversight and risk tree - The madoff affair questions and answers - Identifying cations in solution lab answers - Brimbank council bin repair - Cloud computing assignment questions pdf - Innatist theory in the classroom - Cumulative graphs are used aba - Reading lolita in tehran analysis - Graphic organizer for homework - Accounting clerk education requirements - M-6 - Analyzing financial performance reports - Linear momentum lab - American genealogical biographical index agbi database online - Bcg matrix build hold harvest divest - What is a random assignment in psychology - Autolite 145 cross reference - Substitution property of congruence - Wells technical institute a school owned by tristana - Zong case study - Iis express service name - Order 2386227: Shaping School Culture - Ppp authentication chap pap - Practical aviation law 5th edition pdf - expatriate and repatriate policies practiced in MNE’s. - Premier consulting's two consultants avery and baker - Past participle of falloir - Mcgraw hill connect homework answers - Khp naoh reaction formula - Literature evaluation table gcu - Oedipus the king research paper topics - Basic Python and Numpy Coding - Ford analysis of strategic intent - Superior Goal Statement Paper 1 page single spaced. - Mona lisa smile college - Sql server database naming conventions best practices - Land buildings cash and other resources owned by the business - How project planning helps minimize risks - Td ameritrade withdrawal form - Food for thought worksheet answers - Estee lauder supplier code of conduct - Distance time graphs ppt