博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归实现中序遍历二叉树
阅读量:5931 次
发布时间:2019-06-19

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

hot3.png

问题描述

        从键盘接受输入先序序列,以二叉链表作为存储结构,建立二叉树(以先序来建立)并对其进行中序遍历,然后将遍历结果打印输出。要求采用递归方法实现。

**解题思路   **

递归实现

程序实现

#include 
#include
typedef char Datatype;/*二叉树*/typedef struct Node { Datatype data; struct Node *LChild; struct Node *RChild;} BiTNode, *BiTree;void createBiTree(BiTree *tree);void traverseTree(BiTree tree); int main(int argc, char *argv[]) { BiTree tree; printf("按先序遍历序列建立二叉树:\n"); createBiTree(&tree); traverseTree(tree); return 0;}void createBiTree(BiTree *tree) { char ch; ch = getchar(); if(ch == ' ') { *tree = NULL; } else { //生成一个新结点 *tree = (BiTree)malloc(sizeof(BiTNode)); (*tree)->data = ch; //生成左子树 createBiTree(&((*tree)->LChild)); //生成右子树 createBiTree(&((*tree)->RChild)); }}/**遍历树的结点*/void traverseTree(BiTree tree) { int i; if(tree == NULL) { return; } traverseTree(tree->LChild); printf("%c", tree->data); traverseTree(tree->RChild);}

运行结果

转载于:https://my.oschina.net/niithub/blog/3041439

你可能感兴趣的文章
创建日历和日期列表
查看>>
效率由心生,快速提高工作效率秘诀
查看>>
python 第六天
查看>>
MySQL数据类型--与MySQL零距离接触2-12主键约束
查看>>
数据库
查看>>
软件测试2019:第八次作业
查看>>
PHP导出MySQL数据到Excel
查看>>
转sql2005 远程连接问题解决方法
查看>>
Qt的widget与Button添加图片
查看>>
C# 图像处理:Bitmap 与 Image 之间的转换
查看>>
VC++ GDI 总结 一一 CBitmap类
查看>>
TCP/IP之DNS域名解析系统
查看>>
如何限制青少年无节制的玩电脑--使用智能卡登录系统
查看>>
mysql修改用户密码
查看>>
Vue
查看>>
扩大ImageButton响应点击区域的方法
查看>>
类加载过程
查看>>
2017全面JAVA面试经历总结
查看>>
Linux mkdir命令
查看>>
Python 函数(参数组合)
查看>>