当前位置: 首页 > news >正文

【PTA数据结构 | C语言版】前序遍历二叉树

本专栏持续输出数据结构题目集,欢迎订阅。

文章目录

    • 题目
    • 代码

题目

请编写程序,创建一棵有 3 个结点的二叉树,并输出其前序遍历序列。

输入格式:
输入给出 3 个整数,依次为二叉树根结点的左孩子、右孩子、根结点本身存储的键值。

输出格式:
输出二叉树的前序遍历序列,每个数字占一行。

输入样例:
1 2 3
输出样例:
3
1
2

代码

#include <stdio.h>
#include <stdlib.h>typedef struct TreeNode {int data;struct TreeNode* left;struct TreeNode* right;
} TreeNode;TreeNode* createNode(int data) {TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));node->data = data;node->left = NULL;node->right = NULL;return node;
}// 前序遍历函数:根->左->右
void preOrderTraversal(TreeNode* root) {if (root == NULL) return;printf("%d\n", root->data);     // 访问根节点preOrderTraversal(root->left);  // 递归遍历左子树preOrderTraversal(root->right); // 递归遍历右子树
}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;// 执行前序遍历preOrderTraversal(root);return 0;
}

文章转载自:
http://bulkiness.ciuzn.cn
http://abri.ciuzn.cn
http://castries.ciuzn.cn
http://cholic.ciuzn.cn
http://acheulean.ciuzn.cn
http://abnaki.ciuzn.cn
http://carpsucker.ciuzn.cn
http://anatomically.ciuzn.cn
http://alvan.ciuzn.cn
http://alternately.ciuzn.cn
http://adsorptive.ciuzn.cn
http://bibliokleptomania.ciuzn.cn
http://charter.ciuzn.cn
http://assentor.ciuzn.cn
http://cheery.ciuzn.cn
http://affectation.ciuzn.cn
http://absorptance.ciuzn.cn
http://catalonia.ciuzn.cn
http://anabaptism.ciuzn.cn
http://bedmaker.ciuzn.cn
http://angulated.ciuzn.cn
http://basse.ciuzn.cn
http://alkalify.ciuzn.cn
http://abomination.ciuzn.cn
http://caprificator.ciuzn.cn
http://chessel.ciuzn.cn
http://acidimetrical.ciuzn.cn
http://aphetic.ciuzn.cn
http://chromogen.ciuzn.cn
http://aerosat.ciuzn.cn
http://www.dtcms.com/a/281235.html

相关文章:

  • 零基础入门物联网-远程门禁开关:代码调试
  • 过滤数组中null、undefined、‘‘、等非真内容
  • AAAI-2025 | 同济大学面向嘈杂环境的音频视觉导航!BeDAViN:大规模音频-视觉数据集与多声源架构研究
  • OpenCSG QA:您的国产大模型与 Agent 管理平台
  • 变更缓冲池简介
  • 19.1 单元测试框架
  • ssm学习笔记day08mybatis
  • ESP32轻松实现UDP无线通信
  • 使用python的pillow模块将图片转化为灰度图,获取值和修改值
  • 雷军的 IP 革命:人格化力量如何重塑商业规则|创客匠人
  • uniapp微信小程序弹窗
  • 《汇编语言:基于X86处理器》第8章 高级过程(1)
  • 被人工智能激活的哲学
  • 短剧小程序的「技术革命」:从「粗放生长」到「精准运营」
  • Windows内核对象
  • 新方法!家长可用安卓或苹果,远程管理孩子使用iPhone的时长
  • LeetCode|Day12|58. 最后一个单词的长度|Python刷题笔记
  • 跨平台游戏引擎 Axmol-2.7.1 发布
  • C#中Static关键字解析
  • k8s环境使用Operator部署Seaweedfs集群(上)
  • AJAX 入门到精通
  • 堆内存、栈内存、内存地址
  • 作业:复制数组
  • EndNote
  • 【Keil】C/C++混合编程的简单方法
  • DGNNet:基于双图神经网络的少样本故障诊断学习模型
  • 深入浅出 RabbitMQ-核心概念介绍与容器化部署
  • Element plus参考vben逻辑实现的描述列表组件封装实践
  • 【PTA数据结构 | C语言版】二叉树前序序列化
  • 差分信号接口选型指南:深入解析LVDS、SubLVDS、SLVDS与SLVDS-EC**