• 注册
当前位置:1313e > 默认分类 >正文

C 写一个BST

BST

手写一个二叉搜索树


#include 
using namespace std;struct node
{int value;node *left;node *right;
};node* insert(node *n,int value)
{if(n == NULL){node *n = new node;n->left = NULL;n->right = NULL;n->value = value;return n;}if(value < n->value){n->left = insert(n->left, value);return n;}else if(value > n->value){n->right = insert(n->right, value);return n;}}node *remove(node *n, int val)
{if(n->value == val){if(n->right == NULL){node *ptr = n->left;delete n;return ptr;}else{node *ptr = n->right;while(ptr->left){ptr = ptr->left;}n->value = ptr->value;n->right = remove(n->right, ptr->value);return n;}}if(n->left != NULL)n->left = remove(n->left, val);if(n->right != NULL)n->right = remove(n->right, val);return n;
}int main()
{node *root = NULL;root = insert(root,10);root = insert(root,5);root = insert(root,2);root = insert(root,20);remove(root,10);cout << root->left->value;system("pause");return 0;
}

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录