最初由 风中有影 发布
void TreeNode::subprint (TreeNode *subRoot,int n) {
if(subRoot->key==NULL) return;
if(subRoot->key<n) return;
subPrint (subRoot -> left,n);
cout << subRoot -> key << endl;
subPrint (subRoot -> right,n);
最初由 风中有影 发布
最后一TRY,走人
void TreeNode::subprint (TreeNode *subRoot,int n) {
if(subRoot->key==NULL) return;
if(subRoot->key>n||subRoot->key>n){
subPrint (subRoot -> left,n);
cout << subRoot -> key << endl;
subPrint (subRoot -> right,n);
}else{
return;
}
}
改了,我觉得IDEA不会有问题最初由 陪你去看龙卷风 发布
if(subRoot->key==NULL)是不可能的
因为如果TreeNode为Null的时候用subRoot->key唯一能出现的东西seg. fault
subRoot->key>n||subRoot->key>n they are the same thing, man
Binary Search Tree的结构/定义如下:
Definition: A binary tree where every node's left subtree has keys less than the node's key, and every right subtree has keys greater than the node's key.
他的左subtree的所有key都小于parent node.
右subtree的所有key都大于parent node.