C++의 이진 검색 트리 구현과 관련하여 질문이 있습니다. 다음은 질문입니다.이진 검색 트리
정수를 저장하는 간단한 (템플리트가 아닌) BST를 구현하십시오. Insert, Remove, inOrder traversal, preOrder traversal, postOrder traversal과 같은 작업을 제공합니다.
트리를 처리하는 데 재귀 루틴을 사용하십시오.
노드를 처리하는 것은 노드의 내용을 인쇄하는 것으로 간단히 노드에 저장된 정수입니다.
데이터는 테스트 파일에서 가져와야합니다. 주 프로그램은 데이터 파일을 열고 트리에 삽입하고 다른 트리 작업을 보여줘야합니다.
이 연습의 요점은 BST를 이해한다는 것을 입증하는 것입니다. 그것과 함께 배를 타고 묻지 않은 작업을 할 필요가 없습니다.
지금까지 헤더 파일을 만들었습니다. 누구든지 내 생각에 올바른 방향으로 가고 있는지 조언 해 주시겠습니까?
using namespace std;
#ifndef BSTNODE_H
#define BSTNODE_H
class BSTNode
{
private:
//Defines the 'node' structure
struct tree_node
{
tree_node *left; // left subtree has smaller elements
tree_node *right; // right subtree has larger elements
int m_data;
};
//root * r;
public:
//The Constructor
BSTNode();
//The Destructor
~BSTNode();
//Inserts a value into a BST, public function
void insert(const m_data & d);
//Removes a value from a BST, public function
void remove(const m_data & d);
//isEmpty function, public function
bool isEmpty();
BSTNode getData();
void inOrder(const m_data & d);
void preOrder(const m_data & d);
void postOrder(const m_data & d);
};
#endif
다음으로 BSTNode.cpp 파일을 만들어야합니다. [email protected]으로 메일을 통해 귀하의 답변을 감사드립니다. 미리 감사드립니다.
순회 함수를 반복자로 구현해야합니까 ...? 나는 C++ 컨벤션을이 질문에 대한 대답으로 추가 할 수있을만큼 잘 모른다. – CookieOfFortune
절대로 넣지 마십시오 : using namespace std; 헤더 파일에. –