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

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);
}

这棵树的结构为

运行效果

http://www.lryc.cn/news/389017.html

相关文章:

  • 如何在服务器中安装anaconda
  • 夸克网盘拉新暑期大涨价!官方授权渠道流程揭秘
  • 机器学习(三)
  • PostgreSQL 基本SQL语法(二)
  • linux 控制台非常好用的 PS1 设置
  • 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第十二章)Wifi透传实验例程说明
  • 详述乙级资质企业在城市综合管廊与隧道一体化设计中的挑战与机遇
  • 如何借助物联网实现农情监测与预警
  • 一个项目学习Vue3---响应式基础
  • 白骑士的Python教学基础篇 1.5 数据结构
  • Go 常用文件操作
  • 大数据、人工智能、云计算、物联网、区块链序言【大数据导论】
  • ComfyUI流程图、文生图、图生图步骤教学!
  • CSS基础知识学习指南
  • 力扣hot100 -- 贪心算法
  • P2P文件传输协议介绍
  • Spring Boot集成Spring Mobile快速入门Demo
  • 走进开源企业 | 湖南大学OpenHarmony技术实训活动在开鸿智谷顺利举办!
  • TCP单进程循环服务器程序与单进程客户端程序
  • QT+winodow 代码适配调试总结(二)
  • 百家讲坛 | 裴伟伟:企业中安全团队应当如何反馈漏洞
  • 巧用Fiddler中的Comments提升接口测试效率
  • 停车场车牌识别计费系统,用Python如何实现?
  • Linux内核——Linux内核体系模式(二)
  • Spring MVC的高级功能——异常处理(一)简单异常处理器
  • 【面试干货】Static关键字的用法详解
  • 软件工程实验
  • 对于复杂的网页布局,如多列布局和网格布局,CSS 有哪些最佳实践和技巧?
  • Spring Boot中集成Redis实现缓存功能
  • arco disign vue 日期组件的样式穿透