안녕하세요 저는 노드를 바이너리 검색 트리에 삽입하는 데 deference를 사용하려고했습니다. 하지만 지금은 삽입 기능에 갇혀 있다고 생각합니다. insert 함수를 호출 할 때 실수를 저질렀다고 생각합니다. 그래서 누구든지 내 코드에 어떤 문제가 있는지 말해 줄 수 있습니다. 감사합니다.dereference를 사용하여 C++ 바이너리 검색 트리
struct BstNode {
int data;
BstNode *left;
BstNode *right;
};
BstNode *GetNewNode(int);
void Insert(BstNode **, int);
void Insert(BstNode **root, int data)
{
if(*root == NULL){
*root = GetNewNode(data);
}
else if(data <= root){
Insert(*(root -> left), data);
}
else {
Insert(*(root -> right), data);
}
BstNode *GetNewNode(int data)
{
BstNode *newNode = new BstNode();
newNode->data = data;
newNode->left = newNode->right = NULL;
return newNode;
}
int main()
{
BstNode *root = NULL;
Insert(&root,15);
Insert(&root,10);
Insert(&root,20);
return 0;
}
의미가 무엇인지 자세히 설명해 주시겠습니까? "붙어있어?" 컴파일러 오류? 프로그램이 실행되지만 멈추지 않습니까? 코드를 작성하는 방법을 알아낼 수 없습니까? – 1201ProgramAlarm
@Shawn W W이 조건은 else if (data <= root) {는 의미가 없습니다. –