Review the code and fix the error. Show output #include #include using namespace std; #define mid '$' struct node { int freq; char code; node* left, * right; node* qnext; }; template class MinHeap { public: MinHeap(int MSize) { MaxSize = MSize; heap = new T[MaxSize + 1]; Size = 0; } ~MinHeap() { delete[] heap; } MinHeap& Insert(T& x); MinHeap& Delete(T& x); int Size; private: int MaxSize; T* heap; }; template MinHeap& MinHeap::Insert(T& x) { if (Size == MaxSize) throw NoMem(); else { int i = ++Size; while (i != 1 && x < heap[i / 2]) { heap[i] = heap[i / 2]; i /= 2; } heap[i] = x; return *this; } } template MinHeap& MinHeap::Delete(T& x) { if (Size == 0) throw OutOfBounds(); x = heap[1]; //root has the smallest key T y = heap[Size--]; //last element int vacant = 1; int child = 2; //make child = left child while (child heap[child + 1]) ++child; //right child < left child if (y code != mid) { cout << n->code << ":" << buffer << endl; return; } print(n->left, buffer + "0"); print(n->right, buffer + "1"); } public: Huffman_Tree() { root = NULL; } template Huffman_Tree(MinHeap p) { create(p); } template void create(MinHeap p) { //adding elements node* n1, * n2, * newnode; while (p.Size() > 1) { n1 = p.Delete(); n2 = p.Delete(); newnode = new node; newnode->code = mid; newnode->freq - n1->freq + n2->freq; newnd->left = n1; newnd->right = n2; p.Insert(newnode); } root = p.Delete(); } void show_codes() { return print(root, ""); } }; int main() { string s1; MinHeap(x); cout << "Please enter up to 10 letters: "; cin >> s1; cout << "Enter their frequencies: "; for (int i = 0; i < s1.size(); i++) { node* n = new node; n->code = s1[i]; cin >> n->freq; x.Insert(n); //generate huffman tree Huffman_Tree huff(x); cout << "The code for each letters are: \n"; huff.show_codes(); } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
icon
Concept explainers
Question
Review the code and fix the error. Show output #include #include using namespace std; #define mid '$' struct node { int freq; char code; node* left, * right; node* qnext; }; template class MinHeap { public: MinHeap(int MSize) { MaxSize = MSize; heap = new T[MaxSize + 1]; Size = 0; } ~MinHeap() { delete[] heap; } MinHeap& Insert(T& x); MinHeap& Delete(T& x); int Size; private: int MaxSize; T* heap; }; template MinHeap& MinHeap::Insert(T& x) { if (Size == MaxSize) throw NoMem(); else { int i = ++Size; while (i != 1 && x < heap[i / 2]) { heap[i] = heap[i / 2]; i /= 2; } heap[i] = x; return *this; } } template MinHeap& MinHeap::Delete(T& x) { if (Size == 0) throw OutOfBounds(); x = heap[1]; //root has the smallest key T y = heap[Size--]; //last element int vacant = 1; int child = 2; //make child = left child while (child heap[child + 1]) ++child; //right child < left child if (y code != mid) { cout << n->code << ":" << buffer << endl; return; } print(n->left, buffer + "0"); print(n->right, buffer + "1"); } public: Huffman_Tree() { root = NULL; } template Huffman_Tree(MinHeap p) { create(p); } template void create(MinHeap p) { //adding elements node* n1, * n2, * newnode; while (p.Size() > 1) { n1 = p.Delete(); n2 = p.Delete(); newnode = new node; newnode->code = mid; newnode->freq - n1->freq + n2->freq; newnd->left = n1; newnd->right = n2; p.Insert(newnode); } root = p.Delete(); } void show_codes() { return print(root, ""); } }; int main() { string s1; MinHeap(x); cout << "Please enter up to 10 letters: "; cin >> s1; cout << "Enter their frequencies: "; for (int i = 0; i < s1.size(); i++) { node* n = new node; n->code = s1[i]; cin >> n->freq; x.Insert(n); //generate huffman tree Huffman_Tree huff(x); cout << "The code for each letters are: \n"; huff.show_codes(); } }
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Types of Linked List
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education