Guest User

Untitled

a guest
Jul 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. /*********************************
  2. Name: Mary Soy
  3. Date: 11-13-09
  4. Class: 3333
  5. Professor: Schweller
  6. File: huffTree.h
  7. *********************************/
  8. #include <iostream>
  9. #include <fstream>
  10. using namespace std;
  11.  
  12. class huffTree
  13. {
  14. public:
  15. string characters;
  16. int frequency;
  17. huffTree* hleft;
  18. huffTree* hright;
  19. huffTree();
  20. huffTree(const huffTree&);
  21. huffTree(huffTree*);
  22. huffTree(huffTree*, huffTree*);
  23. void makeReport(ofstream & out);
  24. void makeReport2(ofstream & out, string);
  25. };
  26.  
  27. huffTree::huffTree()
  28. {
  29. hleft = NULL;
  30. hright = NULL;
  31. characters = "";
  32. frequency = 1;
  33. }
  34.  
  35. huffTree::huffTree(const huffTree &s)
  36. {
  37. hleft= s.hleft;
  38. hright= s.hright;
  39. characters= s.characters;
  40. frequency= s.frequency;
  41. }
  42. huffTree::huffTree(huffTree* s)
  43. {
  44. hleft= s->hleft;
  45. hright= s->hright;
  46. characters= s->characters;
  47. frequency= s->frequency;
  48. }
  49.  
  50. huffTree::huffTree(huffTree* s, huffTree* s1)
  51. {
  52. hleft = s;
  53. hright = s1;
  54. frequency = s->frequency + s1->frequency;
  55. }
  56.  
  57. void huffTree::makeReport(ofstream & out)
  58. {
  59. makeReport2(out,"");
  60. }
  61.  
  62. void huffTree::makeReport2(ofstream & out, string x)
  63. {
  64. string z = "0", o = "1";
  65. if(hleft != NULL)
  66. {
  67. hleft->makeReport2(out,z+x);
  68. hright->makeReport2(out, o+x);
  69. }
  70. else
  71. out<<characters << " " << x << endl;
  72. }
Add Comment
Please, Sign In to add comment