У меня есть класс TreeSet , описывающий дерево в c ++:
class TreeSet
{
private:
AVLNode * root;
int count;
protected:
void clearRec(AVLNode*root);
public:
TreeSet();
~TreeSet();
void clear();
// print out the set in ascending order
friend ostream& operator<<(ostream& os, const TreeSet& t);
int add(int val);
}
и класс узла AVL для представления узла AVl:
class AVLNode {
public:
int key; // data
AVLNode* left; // left child
AVLNode* right; // right child
int balance; // balance factor
AVLNode(int key) {
this->key = key;
left = right = NULL;
balance = 0;
}
AVLNode(int key, int balance) {
this->key = key;
this->balance = balance;
left = right = NULL;
}
};
Вот моя реализация функции добавления, когда в TreeSet нет ничего
int TreeSet::add(int val) {
if (root == NULL) {
AVLNode newNode(val);
root = &newNode;
count++;
}
}
Функция main :
int main() {
TreeSet set, temp, *subSet;
ifstream ifs;
ifs.open("input.txt");
char command;
int val;
try
{
while (ifs >> command) {
switch (command) {
case 'a': // add an element to the set
ifs >> val;
set.add(val);
break;
}
}
}
}
Но когда у меня естьTXT-файл со строкой 4
не выводит 4 на экран.Можете ли вы помочь мне решить эту проблему?