c ++中的二叉搜索树分割错误

时间:2017-03-03 00:59:39

标签: c++ segmentation-fault binary-search-tree

我实现了这个函数来检查一棵树是否是一个二叉搜索树但是它一直在抛出一个段错误

  bool checkBST(Node* root) {
   if(root == nullptr){
       return true;
   }
   else{
       if(root->data <= root->left->data){
           return false;
       }
       else if(root->data >= root->right->data){
           return false; 
       }
   }
   return true&&checkBST(root->left)&&checkBST(root->right);
 }

1 个答案:

答案 0 :(得分:1)

下面:

  root->left->data

你怎么知道

  root->left 

不是空的?如果是,当您尝试访问data成员时,您将调用未定义的行为,这可能会通过seg错误显示出来。