В моем шаблоне с шаблоном BST есть функция PrintInOrder()
, которая не принимает никаких параметров.Двоичное дерево поиска - PrintInOrder();
void BST<Type>::printInOrder() const{}
Я видел некоторые функции, и все из них взять Node*
к корню в качестве параметра, который имеет смысл.
Как я могу сделать рекурсию для печати всех значений в порядке, используя указанную функцию?
Код:
/* I don't know if it's gonna help, but this is my class */
struct Node
{
Type m_data;
Node *m_left, *m_right;
Node(const Type& _data) : m_data(_data), m_left(nullptr), m_right(nullptr) {}
};
Node* m_root;
int m_size;
public:
BST();
~BST();
BST& operator=(const BST& that);
BST(const BST& that);;
void insert(const Type& v);
bool findAndRemove(const Type& v);
bool find(const Type& v) const;
void clear();
void printInOrder() const;
};
Возможный дубликат [Перемещение по порядку с рекурсией?] (Http://stackoverflow.com/questions/20034335/inorder-traversal-with-recursion) –
Его функция передает корень в качестве параметра. Я пытаюсь выяснить функцию, которая не принимает параметр – jcsantos