放牛的风 2024-04-24 16:32 采纳率: 0%
浏览 11

树-建立一棵简单的二叉树(链式结构)

构建一棵只有3个节点的二叉树,分别为树根、左孩和右孩。
输入
3个字母,分别表示3个节点的数据域(根、左、右)
输出
见样例

#include <stdio.h>
#include <stdlib.h>
typedef struct BiTNode {
    char data;
    struct BiTNode *lchild,*rchild;
} BiTNode,*BiTree;

void InitBiTree(BiTree &T);
void CreateSimpleBiTree(BiTree &T);
void show(BiTree T){
    printf("%c-%c-%c",T->data,T->lchild->data,T->rchild->data);    
}
int main(void){
    BiTree T;
    InitBiTree(T);
    CreateSimpleBiTree(T);
    show(T);
    return 0;
}
/*仅提交以下代码*/
void InitBiTree(BiTree &T){

}

void CreateSimpleBiTree(BiTree &T){
        
}

样例输入 复制
ABC
样例输出 复制
A-B-C

  • 写回答

5条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-04-24 16:32
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    思路: 题目已经给出了树的结构,只需按照输入数据依次为根节点、左孩子和右孩子进行赋值即可。 代码实现:
    #include<bits/stdc++.h>
    using namespace std;
    typedef struct BiTNode {
        char data;
        struct BiTNode *lchild,*rchild;
    } BiTNode,*BiTree;
    void InitBiTree(BiTree &T){
        T = NULL;
    }
    void CreateSimpleBiTree(BiTree &T){
        BiTree L,R;
        char ch;
        T = (BiTree)malloc(sizeof(BiTNode));
        T->data = getchar(); getchar();  
        L = (BiTree)malloc(sizeof(BiTNode));
        L->data = getchar(); getchar();  
        R = (BiTree)malloc(sizeof(BiTNode));
        R->data = getchar(); getchar();     
        T->lchild = L;
        T->rchild = R;
        L->lchild = L->rchild = R->lchild = R->rchild = NULL;
    }
    void show(BiTree T){
        printf("%c-%c-%c",T->data,T->lchild->data,T->rchild->data);
    }
    int main(){
        BiTree T;
        InitBiTree(T);
        CreateSimpleBiTree(T);
        show(T);
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月24日