-1
내가 삽입 기능에 다음과 같은 오류가 무엇입니까 이진 검색 트리의 최대 요소를 찾기 위해 코드를 작성했습니다
:
main.cpp: In function ‘bstNode* Insert(bstNode*, int)’:
main.cpp:23:31: error: expected primary-expression before ‘*’ token
root->left= Insert(bstNode* left,data);
^
main.cpp:25:32: error: expected primary-expression before ‘*’ token
root->right= Insert(bstNode* right,data);
^
다음을 코드입니다
#include <iostream>
using namespace std;
struct bstNode{
int data;
bstNode* left;
bstNode* right;
};
bstNode* GetNewNode(int data){
bstNode* newNode=new bstNode();
newNode->data=data;
newNode->right=newNode->left=NULL;
return newNode;
}
bstNode* Insert(bstNode* root,int data){
if(root==NULL)
root=GetNewNode(data);
else if(data <= root->data)
root->left= Insert(bstNode* left,data);
else
root->right= Insert(bstNode* right,data);
return root;
}
void FindMax(bstNode* root){
if(root->right==NULL)
cout<<root->data;
else
FindMax(root->right);
}
int main()
{
bstNode* root=NULL;
int T;
cin>>T;
int i,data;
for(i=0;i<T;i++){
cin>>data;
root=Insert(root,data);
}
FindMax(root);
return 0;
}
오류의 원인을 알려주십시오. 어떻게 해결할 수 있습니까?
예, 작동합니다. 고마워. 나는 바보 같은 질문을하는 것에 대해 유감스럽게 생각하며 데이터 구조에 익숙하지 않고 최근에 나무를 연구하기 시작했습니다. – shardul08
@ shardul08 문제는 데이터 구조 나 나무와 아무 관련이 없습니다. 함수에 대한 장을 검토해야합니다. – user463035818