题解 | 二叉排序树

二叉排序树

https://www.nowcoder.com/practice/30a0153649304645935c949df7599602

#include<iostream>
#include<string>
using namespace std;
int tree[100];
struct TreeNode{
    int data;
    TreeNode* left;
    TreeNode* right;
};
void treeinsert(TreeNode*root,int i){
    TreeNode* p=new TreeNode;
    p->data=i;
    p->left=NULL;
    p->right=NULL;
    if(p->data>root->data){
        if(root->right==NULL){
            cout<<root->data<<"\n";
            root->right=p;
        }
        else{
            treeinsert(root->right,i);
        }
    }
    else if(p->data<root->data){
        if(root->left==NULL){
            cout<<root->data<<"\n";
            root->left=p;
        }
        else{
            treeinsert(root->left,i);
        }
    }
}
int main(){
    int n;
    cin>>n;
    cin>>tree[0];
    TreeNode* root=new TreeNode;
    root->data=tree[0];
    root->left=NULL;
    root->right=NULL;
    cout<<"-1"<<"\n";
    for(int i=1;i<n;i++){
        cin>>tree[i];
        treeinsert(root,tree[i]);
    }

}

全部评论

相关推荐

01-02 20:08
马鞍山学院 Java
27届学院本誓死冲击...:实习经历最好写上做了什么项目,负责什么业务,否则有点假
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务