每当我尝试测试函数时,我总是得到root的值,我不知道它有什么问题。
Data& operator[] (int k) {
if(n==0) return root->value;
Node * temp= helperOper(root, n);
return temp->value;
}
Node * helperOper(Node * T, int& n) const{
if(T!=nil){
n--;
if(n==0) helperOper(T->left, n);
n--;
if (n==0) helperOper(T->right, n);
//n--;
return T;
}
return nil;
}
int main(){
BST<int> x;
x.insert(1);
x.insert(2);
x.insert(3);
cout << temp[2];
}