숙제에 대한 질문이 있는데 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'은 대부분의 목적을 위해 작동해야하기 때문입니다. –