C语言使用先序遍历创建二叉树
#include<stdio.h>
#include<stdlib.h>typedef struct node
{int data;struct node * left;struct node * right;
} Node;Node * createNode(int val);
Node * createTree();
void freeTree(Node * node);void preOrder(Node * node);// 先序创建二叉树
int main() {Node * root = createTree();preOrder(root);freeTree(root);return 0;
}Node * createNode(int val) {Node * node = (Node *)malloc(sizeof(Node));if (node == NULL){printf("内存申请异常");exit(-1);}node->data = val;node->left = NULL;node->right = NULL;return node;
}Node * createTree() {int val = 0;printf("请输入创建树的数据 0为NULL:");scanf("%d", &val);if (val == 0){return NULL;}Node * node = createNode(val);printf("请输入%d的左子节点:", val);node->left = createTree();printf("请输入%d的右子节点:", val);node->right = createTree();return node;
}void preOrder(Node * node) {if (node == NULL){return;}printf("%d ", node->data);preOrder(node->left);preOrder(node->right);
}void freeTree(Node * root) {if (root == NULL){return;}freeTree(root->left);freeTree(root->right);free(root);
}
这棵树的结构为

运行效果

相关文章:
C语言使用先序遍历创建二叉树
#include<stdio.h> #include<stdlib.h>typedef struct node {int data;struct node * left;struct node * right; } Node;Node * createNode(int val); Node * createTree(); void freeTree(Node * node);void preOrder(Node * node);// 先序创建二叉树 int main()…...
如何在服务器中安装anaconda
文章目录 Step1: 下载 Anaconda方法1:下载好sh文件上传到服务器安装方法2:在线下载 Step2: 安装AnacondaStep3: 配置环境变量Step 4: 激活AnacondaStep4: 检验安装是否成功 Step1: 下载 Anaconda 方法1:下载好sh文件上传到服务器安装 在浏览…...
夸克网盘拉新暑期大涨价!官方授权渠道流程揭秘
夸克网盘拉新暑期活动来袭,价格大涨!从7月1日开始持续两个月,在这两个月里夸克网盘拉新的移动端用户,一个从原来的5元涨到了10元。这对做夸克网盘拉新的朋友来说,真的是福利的。趁着暑期时间多,如果有想做夸…...
机器学习(三)
机器学习 4.回归和聚类算法4.1 线性回归4.1.1 线性回归的原理4.1.2 线性回归的损失和优化原理 4.2 欠拟合与过拟合4.2.1 定义4.2.2 原因以及解决方法4.2.3 正则化 4.3 线性回归改进-岭回归4.3.1 带L2正则化的线性回归-岭回归4.3.2 API 4.4 分类算法-逻辑回归与二分类4.4.1 定义…...
PostgreSQL 基本SQL语法(二)
1. SELECT 语句 1.1 基本 SELECT 语法 SELECT 语句用于从数据库中检索数据。基本语法如下: SELECT column1, column2, ... FROM table_name; 例如,从 users 表中检索所有列的数据: SELECT * FROM users; 1.2 使用 WHERE 条件 WHERE 子…...
linux 控制台非常好用的 PS1 设置
直接上代码 IP$(/sbin/ifconfig eth0 | awk /inet / {print $2}) export PS1"\[\e[35m\]^o^\[\e[0m\]$ \[\e[31m\]\t\[\e[0m\] [\[\e[36m\]\w\[\e[0m\]] \[\e[32m\]\u\[\e[0m\]\[\e[33m\]\[\e[0m\]\[\e[34m\]\h(\[\e[31m\]$IP\[\e[m\])\[\e[0m\]\n\[\e[35m\].O.\[\e[0m\]…...
【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第十二章)Wifi透传实验例程说明
本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com) 适用于板卡型号: 紫光同创PG2L50H_MBG324开发平台(盘古PGX-Nano) 一:…...
详述乙级资质企业在城市综合管廊与隧道一体化设计中的挑战与机遇
挑战 1. 技术与设计复杂性 城市综合管廊与隧道项目往往涉及复杂的地质条件、地下水位、周边建筑物影响等因素,要求企业具备高水平的岩土工程、结构工程和流体力学等专业知识。此外,一体化设计需要跨学科合作,协调不同系统的兼容性ÿ…...
如何借助物联网实现农情监测与预警
如何借助物联网实现农情监测与预警? 物联网技术,作为信息技术与传统行业的深度融合产物,正逐步变革着农业生产的管理模式,特别是在农情监测与预警领域展现出巨大潜力。其核心在于通过感知层的各类传感器、通信层的数据传输技术以…...
一个项目学习Vue3---响应式基础
观察下面一段代码,学习响应式基础的全部内容 <template><div><div>将下面的msg属性放到上面来:{{ msg }}</div><button click"count">{{ count }}</button><button click"object.count.value">{{ o…...
白骑士的Python教学基础篇 1.5 数据结构
系列目录 上一篇:白骑士的Python教学基础篇 1.4 函数与模块 数据结构是编程语言中用于存储和组织数据的基本构件。在Python中,常见的数据结构包括列表(List)、元组(Tuple)、字典(…...
Go 常用文件操作
查找文件/目录 os.Stat(String)组合路径 dir, _ : homedir.Dir() filename : args[0] path : filepath.Join(dir, filename)homedir.Dir()为home根目录。 filepath.Join 会自动处理分隔符,将目录和文件名组合成文件路径。 检查是否含有后缀.json strings.HasSu…...
大数据、人工智能、云计算、物联网、区块链序言【大数据导论】
各位大佬好 ,这里是阿川的博客,祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 本篇序言前 必看 【大数据导论】—大数据序言 这是…...
ComfyUI流程图、文生图、图生图步骤教学!
前言 leetcode , 209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 …...
CSS基础知识学习指南
CSS基础知识学习指南 1. 介绍 CSS(层叠样式表)是用于描述HTML文档的呈现样式的语言。通过CSS,可以控制网页的布局、颜色、字体等各种样式,使得网页更加美观和用户友好。 2. CSS基础语法 CSS由选择器和声明块组成。选择器用于选…...
力扣hot100 -- 贪心算法
👂 ▶ 逍遥叹 - 胡歌&沈以城【Mashup】 (163.com) 👂 庐州月 - 许嵩 - 单曲 - 网易云音乐 2.7 小时,加上写博客,4 道题,😂 -- 希望二刷时,可以 3 小时,8 道题.... 目录 &…...
P2P文件传输协议介绍
P2P文件传输协议是一种基于对等网络(Peer-to-Peer,简称P2P)的文件共享和传输技术。以下是关于P2P文件传输协议的详细介绍: 一、定义与原理 P2P文件传输协议允许网络中的各个节点(即计算机或其他设备)之间…...
Spring Boot集成Spring Mobile快速入门Demo
1.什么是Spring Mobile? Spring Mobile是一个基于Spring Web MVC框架扩展的一个针对不同移动终端的应用开发框架。通过它我们在适配不同终端方面,就不用费劲心思了。 Spring Mobile的主要功能 自动设备检测: Spring Mobile在 server端内置了一个设备解…...
走进开源企业 | 湖南大学OpenHarmony技术实训活动在开鸿智谷顺利举办!
6月24日-6月26日,2024开放原子校源行之湖南大学信息科学与工程学院师生走进开源企业实训交流活动顺利落下帷幕。湖南大学信息科学与工程学院的师生代表团一行90人参与了湖南开鸿智谷数字产业有限公司(以下简称“开鸿智谷”)与母公司拓维信息系…...
TCP单进程循环服务器程序与单进程客户端程序
实验目的 理解并掌握以下内容: 网络进程标识(即套接字地址)在Linux中的数据结构与地址转换函数。网络字节序与主机字节序的定义、转换以及相关函数在网络编程中的应用。数据结构内存对齐的基本规则,以及基于数据结构构建PDU的基本方法。TCP单进程循环服务器与单进程客户端的…...
别再手动比对了!用Python+PyTorch搭建你的第一个遥感变化检测模型(附实战代码)
用PythonPyTorch实现遥感变化检测:从数据预处理到模型部署全流程指南 遥感影像的变化检测技术正在城市规划、环境监测、灾害评估等领域发挥越来越重要的作用。传统人工比对方法效率低下,而基于深度学习的自动化解决方案正在重塑这个领域的技术格局。本文…...
Driver Store Explorer:Windows驱动管理的终极解决方案
Driver Store Explorer:Windows驱动管理的终极解决方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer [RAPR] 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer Driver Store Explorer(简称RAPR)是一…...
手把手教你用ZPL指令在Zebra打印机上打印动态条码(附完整代码示例)
手把手教你用ZPL指令在Zebra打印机上打印动态条码(附完整代码示例) 在物流仓储、零售结算和智能制造场景中,自动生成并打印条码标签是提升作业效率的关键环节。Zebra打印机凭借其工业级稳定性和ZPL语言的高效指令集,成为行业标配…...
OpenClaw+GLM-4.7-Flash:智能客服机器人搭建指南
OpenClawGLM-4.7-Flash:智能客服机器人搭建指南 1. 为什么选择这个技术组合? 去年夏天,我接手了一个小团队的客服系统改造项目。团队只有5个人,却要处理日均300的客户咨询。传统客服系统要么太贵,要么定制化程度不够…...
OpenClaw 3.28重磅发布:Grok搜索内置,高危操作迎来“保命”拦截机制
引言: 不仅仅是“草台”后的补救,更是智能体操作系统的成人礼 就在前两天,OpenClaw 之父 Peter 的一次“漏打包”操作,直接导致 3.22 版本大面积白屏,让无数开发者以为自己辛辛苦苦养了一周的“赛博小龙虾”就这么“死…...
STM32F103C6 USB DFU升级实战:从CubeMX配置到DfuSeDemo烧录,一步步教你搞定Bootloader设计
STM32F103C6 USB DFU升级全流程解析:从硬件配置到安全跳转的深度实践 在嵌入式开发中,固件升级是产品生命周期中不可或缺的环节。想象一下这样的场景:你的设备已经部署在客户现场,突然发现一个需要紧急修复的BUG,或者需…...
MedGemma 1.5垂直场景:中医馆本地部署中药配伍禁忌推理助手
MedGemma 1.5垂直场景:中医馆本地部署中药配伍禁忌推理助手 1. 引言:当传统中医遇上现代AI 想象一下,一位经验丰富的老中医,在开方时,除了依靠毕生所学和师徒传承的记忆,还能随时向一位精通古今医典、永不…...
GPEN对戴口罩人脸的修复能力实测:遮挡场景适应性
GPEN对戴口罩人脸的修复能力实测:遮挡场景适应性 1. 引言:当人脸识别遇上口罩 最近几年,口罩成了我们生活中的常客。无论是进出公共场所,还是在一些特殊的工作环境中,遮住半张脸的情况越来越普遍。这带来了一个有趣的…...
React Native vs Flutter:一次深入到底的性能对比分析(含原理 + 实战)
目录 一、先说结论(避免踩坑) 二、架构对比:性能差异的根源 1. React Native 架构 关键点: 2. Flutter 架构 关键点: 3. 核心差异总结 三、性能对比核心维度 四、启动性能(App Launch Time&#x…...
python中的枚举类
一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。 针对这种特殊的类,Python 3.4 中新…...
