题解 | #二叉排序树#

二叉排序树

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-27 12:30
延安大学 C++
实习+外包,这两个公司底层融为一体了,如何评价呢?
一表renzha:之前面了一家外包的大模型,基本上都能答出来,那面试官感觉还没我懂,然后把我挂了,我都还没嫌弃他是外包,他把我挂了……
第一份工作能做外包吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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