【PTA数据结构 | C语言版】构造二叉树
本专栏持续输出数据结构题目集,欢迎订阅。
文章目录
- 题目
- 代码
题目
请编写程序,创建一棵有 3 个结点的二叉树,并输出它们的结构以验证正确性。
输入格式:
输入给出 3 个整数,依次为二叉树根结点的左孩子、右孩子、根结点本身存储的键值。
输出格式:
按照输出样例的格式输出三个结点的值。
输入样例:
1 2 3
输出样例:
root data = 3
left child data = 1
right child data = 2
代码
#include <stdio.h>
#include <stdlib.h>// 定义二叉树节点结构
typedef struct TreeNode {int data;struct TreeNode* left;struct TreeNode* right;
} TreeNode;// 创建新节点
TreeNode* createNode(int data) {TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode));newNode->data = data;newNode->left = NULL;newNode->right = NULL;return newNode;
}int main() {int leftData, rightData, rootData;// 读取输入scanf("%d %d %d", &leftData, &rightData, &rootData);// 创建三个节点TreeNode* root = createNode(rootData);TreeNode* leftChild = createNode(leftData);TreeNode* rightChild = createNode(rightData);// 构建二叉树结构root->left = leftChild;root->right = rightChild;// 输出节点信息printf("root data = %d\n", root->data);printf("left child data = %d\n", root->left->data);printf("right child data = %d\n", root->right->data);return 0;
}