题解 | #二叉排序树#

二叉排序树

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

#include <iostream>
#include<vector>
using namespace std;

typedef struct Binode {
    int data;
    struct Binode* lchild;
    struct Binode* rchild;
    Binode(int x): data(x), lchild(NULL), rchild(NULL) {}
};
void insertTree(int x, Binode* b) {
    if (x > b->data) {
        if (b->rchild == NULL) {
            Binode* node = new Binode(x);
            b->rchild = node;
            cout << b->data;

        } else {
            Binode* temporary = b;
            insertTree(x, temporary->rchild);
        }

    } else {
        if (b->lchild == NULL) {
            Binode* node = new Binode(x);
            b->lchild = node;
            cout << b->data;

        } else {

            insertTree(x, b->lchild);
        }
    }

}
int main() {
    int num0;
    vector<int> value;
    while (cin >> num0) {
        int num = num0;
        int x;
        cin >> x;
        Binode* node = new Binode(x);
        cout << -1 << "\n";
        Binode* root = node; //保存根节点
        while (num - 1 > 0) {
            cin >> x;
            insertTree(x, node);
            node = root;
//            cout<<node->data;
            num--;
            cout << "\n";
        }

    }
    return 0;
}

全部评论

相关推荐

码农索隆:有点耳熟,你们是我教过最差的一届
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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