View difference between Paste ID: 6CM9eman and wdAgHrP5
SHOW: | | - or go back to the newest paste.
1
class CharCountNode
2
{
3
private:
4
    char character;
5
    int count;
6
public: 
7
    CharCountNode * left;
8
    CharCountNode * right;
9
10
    CharCountNode()
11
    {
12
        character = '~';
13
        count = 0;
14
        left = right = NULL;
15
    }
16
17
    CharCountNode(char c, int n)
18
    {
19
        character = c;
20
        count = n;
21
        left = right = NULL;
22
    }
23
24
    ~CharCountNode()
25
    {
26
        delete right;
27
        right = NULL;
28
29
        delete left;
30
        left = NULL;
31
    }
32
33
    CharCountNode(const CharCountNode & rhs)
34
    {
35
        character = rhs.character;
36
        count = rhs.count;
37
38
        if (rhs.left == NULL)
39
            left = NULL;
40
        else
41
            left = new CharCountNode(*rhs.left);
42
43
        if (rhs.right == NULL)
44
            right = NULL;
45
        else
46
            right = new CharCountNode(*rhs.right);
47
    }
48
49
    CharCountNode operator=(const CharCountNode & rhs)
50
    {
51
        character = rhs.character;
52
        count = rhs.count;
53
54
        if (rhs.left == NULL)
55
            left = NULL;
56
        else
57
            left = new CharCountNode(*rhs.left);
58
59
        if (rhs.right == NULL)
60
            right = NULL;
61
        else
62
            right = new CharCountNode(*rhs.right);
63
64
        return *this;
65
    }
66
67
    char getCharacter()
68
    { return character; }
69
70
    int getCount()
71
    { return count; }
72
73
    bool operator<(const CharCountNode & rhs) const
74
    { return count < rhs.count; }
75
76
    bool operator>(const CharCountNode & rhs) const
77
    { return count > rhs.count; }
78
79
};