题解 | #二叉排序树#

二叉排序树

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

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
typedef struct tree {
    int a;
    struct tree* lchild;
    struct tree* rchild;
    struct tree* parent;
} tree;
int main() {
    int n;
    scanf("%d", &n);
    int a[100];
    for (int i = 0; i < n; i++) {
        int temp;
        scanf("%d", &temp);
        a[i] = temp;
    }
    struct tree T;
    T.a = a[0];
    T.lchild = NULL;
    T.rchild = NULL;
    T.parent = NULL;
    printf("%d\n", -1);

    struct tree* temp = &T;
    for (int i = 1; i < n; i++) {
        struct tree* tempnode = (tree*)malloc(sizeof(tree));
        tempnode->a = a[i];
        tempnode->lchild = NULL;
        tempnode->rchild = NULL;
        tempnode->parent = NULL;
        while (1) {
            if (temp->a < a[i] && temp->rchild == NULL) {
                temp->rchild = tempnode;
                tempnode->parent = temp;
                printf("%d\n", tempnode->parent->a);
                break;
            } else if (temp->a > a[i] && temp->lchild == NULL) {
                temp->lchild = tempnode;
                tempnode->parent = temp;
                printf("%d\n", tempnode->parent->a);
                break;
            } else if (temp->a < a[i]) {
                temp = temp->rchild;
            } else {
                temp = temp->lchild;
            }
        }
        temp = &T;
    }
    return 0;
}

全部评论

相关推荐

Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-24 18:34
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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