博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用前序遍历递归构造二叉树
阅读量:6758 次
发布时间:2019-06-26

本文共 973 字,大约阅读时间需要 3 分钟。

二叉树的前序遍历是:根结点、左结点、右结点

假设我们要构造的二叉树是:前序遍历ABDCE,因程序中要知道叶子结点,扩展后为AB#D##C#E##

代码如下图所示: 

#include 
#include
//二叉树的结构typedef struct tree *BinTree;struct tree{ char data; BinTree left; BinTree right;};//前序遍历递归构造二叉树BinTree BuildBinTree(){ char data; BinTree root; scanf("%c",&data); if (data == '#'){ root = NULL; } else { root = (BinTree)malloc(sizeof(struct tree)); root->data = data; root->left = BuildBinTree(); root->right = BuildBinTree(); } return root;}//前序遍历进行验证void PreTraversalTree(BinTree root){ if (root != NULL) { printf("%c",root->data); PreTraversalTree(root->left); PreTraversalTree(root->right); }}int main(){ BinTree root; printf("create Binary Tree\n"); root = BuildBinTree(); printf("\n"); PreTraversalTree(root); system("pause"); return 0;}

输出结果:

 

转载于:https://www.cnblogs.com/coding-wtf/p/5768134.html

你可能感兴趣的文章
概率问题随笔
查看>>
关于在堆中创建字符串对象的疑惑
查看>>
poj1077(康托展开+bfs+记忆路径)
查看>>
hibernate 树状映射
查看>>
值得 Web 开发人员收藏的20个 HTML5 实例教程
查看>>
移动设备、手机浏览器Javascript滑动事件代码
查看>>
linux,__attribute__用法
查看>>
LinqToXML~读XML文件续
查看>>
java.sql.SQLException: JZ00L
查看>>
@Resource注解
查看>>
Android(Linux) 网卡名修改
查看>>
Ubuntu 中的VI和vim
查看>>
BaseAnimation是基于开源的APP,致力于收集各种动画效果(最新版本1.3) (转)
查看>>
Libgdx window add alpha action change the background actor alpha
查看>>
(转)过滤器原理
查看>>
JavaScript 触发click事件 兼容FireFox,IE 和 Chrome
查看>>
【英语称谓】软件行业外企称谓简称
查看>>
实现打印级别且带图片的Excel 方案
查看>>
使用 Java 程序写文件时,记得要 flush()
查看>>
OpenCV在矩阵上的卷积
查看>>