我的作業有問題,我需要用C++做一個項目,而且我需要使用面向對象編程,它是一個帶有二叉搜索樹的詞彙表,並且我完成了它。但我使用一個結構...與它打破了OOP規則?如果是的話,我該如何轉換繼承類中的結構?面向對象編程錯誤?
template <typename T>
struct BinaryNode
{
T key;
BinaryNode<T>* left;
BinaryNode<T>* right;
BinaryNode<T>* parent;
};
template <typename T>
class BinarySearchTree
{
private:
BinaryNode<T>* root;
BinaryNode<T>* newNode(T key);
public:
BinarySearchTree();
~BinarySearchTree();
void insert(T key);
BinaryNode<T>* search(T key);
void distance(T key);
void inorderTreeWalk();
void insert(BinaryNode<T>** node, T key);
BinaryNode<T>* search(BinaryNode<T>* node, T key);
void distance(BinaryNode<T>* node, T key);
void inorderTreeWalk(BinaryNode<T>* node);
BinaryNode<T>* remove(BinaryNode<T>* node);
BinaryNode<T>* minimum(BinaryNode<T>* node);
BinaryNode<T>* maximum(BinaryNode<T>* node);
BinaryNode<T>* successor(BinaryNode<T>* node);
bool contains(T key);
BinaryNode<T>* getRoot();
};
請問你的功課,其實需要你編寫你自己的二叉樹?因爲'std :: set'應該適用於大多數目的。 –