二叉搜索树使用c++语言如何实现删除节点的操作( 三 )


                        t->key=temp->key;
                        t->right=deleteNode(t->right,temp->key);
                  }
                  return t;
      };
      //insert a node
      struct node* insert(struct node* t,int item)
      {
             if (t==nullptr&&root==nullptr)
             {
                  root=newnode(item);
                  return root;
             }
             if (t==nullptr &&root!=nullptr)
                  return newnode(item);
             if (item<t->key)
                  t->left=insert(t->left,item);
             if (item>t->key)
                  t->right=insert(t->right,item);
            root=t;
            return root;
      }
      struct node* root;
};
int main()
{
      BinarySearchTree tr;
      tr.insert(tr.root,60);
      tr.insert(tr.root,10);
      tr.insert(tr.root,20);
      tr.insert(tr.root,30);
      tr.insert(tr.root,500);
      tr.insert(tr.root,40);
      cout<<"inorder travel "<<l;
      inorder(tr.root);
      cout<<"if contains 10: "<<l;
      cout<<tr.contains(tr.root,10)<<l;
      cout<<"findmin  "<<tr.findmin(tr.root)->key<<l;
      cout<<"delete 40 "<<l;
      tr.deleteNode(tr.root,40);
      inorder(tr.root);
      return 0;
}

二叉搜索树使用c++语言如何实现删除节点的操作

文章插图

注重事项若是有帮忙请点个赞或投个票吧 , 感激您!!

以上内容就是二叉搜索树使用c++语言如何实现删除节点的操作的内容啦 , 希望对你有所帮助哦!

推荐阅读