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

How to write a metanarrative - Belkin flip not working - Jon hanlon mercer island - Create a toy project - Scooter cdi wiring diagram - Fifa synthetic turf standards - How to balance equations khan academy - Henna co forecasted contribution margin income statement - The effects of temperature on balloons - Nmba code of conduct for nurses - Zero sequence ground fault protection monitors current in the - Santa train leeming bar - Sports massage consultation form - +971561686603 Abortion pills in Dubai/Abu Dhabi-mifepristone & misoprostol in DUBAI - Covington city public schools - Bunji garlin red light district instrumental - Gen 103 week 2 assignment - Lindsay stone and briggs - Advanced level accounting syllabus - Moby dick captain name - Wechsler nonverbal scale of ability subtests - Managerial Accounting - Trends in swott analysis - Crc publications grand rapids michigan - Cook door menu 2017 egypt - Final - St edmund hall notable alumni - Electric field mapping lab report theory - Stony brook greek life - Three basic principles of the belmont report - What is trepanning in psychology - DQ - Abc model of crisis intervention papers - How did charles perkins die - Mood Disorder - Key and peele inner city school of wizardry - Umi no koe lyrics romaji - Sky tv breakdown cover - Luton x31 bus timetable - How do technologies related to microorganisms suggest ethical conflicts - For what would a patient of german descent use cloves? - Fas 167 definition - Bathroom floor drain requirement nsw - Blood donation speech for students - So far from god ana castillo pdf - How does a periscope work - Nature, Origin, and Function of the Self - Personal Statement to nursing school - Example of a character sketch bible study - Types of management accounting techniques - HCA320 Assignment Mod 5: - Heart trust nta food preparation course - Why is Cybersecurity Important for University Students? - Planning and the marketing mix simulation backpack - Produce a change in something - Identify a true statement about alliances and joint ventures - Theme of short story true love by isaac asimov - Kin boutique by cong tri - Ig lintels load tables - Nursing - Match the linear correlation coefficient to the scatter diagram - Tony mirabelli learning to serve - Snl sweeney sisters bridge over troubled water - In the rectangle below what is x - MEE 5801 3 page - Information Assurance. - Environmental impact paper - Math assignment - Dependent source and independent source - Evidence-Based Capstone Project, Part 6: Disseminating Results - Computer ethics questions and answers pdf - SOC Ch 10 - Pan recipe john agard poem analysis - Thread: Week 10 Discussion Prompt - Boy overboard book summary - Stance essay definition - 04.03 the decision - Chlorsig 1 eye ointment - How much is a nolan ryan rookie card worth - Abdominectomy - Sheknives face reveal - Under armour inventory turnover ratio - Research Paper - 216 bus times cork - Dichotomous key for microorganisms - Discussion question answer each question in the sentence 100 words - Electromagnetic experiments science fair - Grief quotes in the tempest - Servsafe cooking temperature chart - Compare and Contrast Essay - Characteristics of hard disk - Cash for cars camden - Barriers to critical thinking - Rainford christmas tree land - Jeremy waldron argues that the current use of drone warfare is unethical because - Roller coaster polynomial equation examples - Salt concentration of potato - Citrobacter koseri indole test - Teaching children to read 7th edition - E.Coli