二叉树的建立,以及递归前中后序遍历二叉树
来源:互联网 发布:js set array 转换 编辑:程序博客网 时间:2024/05/29 17:35
测试用例如图:
#include <stdio.h>#include <stdlib.h>#define TREE "+*E*D/CAB"typedef int dt;typedef struct NODE { dt data; struct NODE *lp; struct NODE *rp; } Node, *Nodep;void first(Nodep ptr) { if (ptr) { printf("%c", ptr->data); first(ptr->lp); first(ptr->rp); }}void mid(Nodep ptr) { if (ptr) { mid(ptr->lp); printf("%c",ptr->data); mid(ptr->rp); }}void last(Nodep ptr) { if (ptr) { last(ptr->lp); last(ptr->rp); printf("%c", ptr->data); } }int main() { Nodep root = NULL; Nodep tnode = (Nodep)malloc(sizeof(Node)); Nodep pl = NULL; Nodep pr = NULL; char s[] = TREE; //建立二叉树 root = tnode; tnode->data = s[0]; tnode->lp = NULL; tnode->rp = NULL; char *p = s + 1; while(*p) { //printf("%c", *p++); pl = (Nodep)malloc(sizeof(Node)); pl->data = *p++; pl->lp = NULL; pl->rp = NULL; pr = (Nodep)malloc(sizeof(Node)); pr->data = *p++; pr->lp = NULL; pr->rp = NULL; tnode->lp = pl; tnode->rp = pr; tnode = tnode->lp; } //test puts("Middle:"); mid(root); puts(""); puts("First:"); first(root); puts(""); puts("Last:"); last(root); puts(""); puts(""); return 0;}
阅读全文
0 0
- 二叉树的建立,以及递归前中后序遍历二叉树
- 二叉树的递归建立以及深度优先遍历
- 数据结构二叉树的建立以及递归遍历
- 二叉树的建立以及先序中序后序递归遍历
- 二叉树建立以及递归、非递归遍历
- 二叉树的建立及递归遍历
- 递归二叉树的建立于遍历
- 二叉树的建立及递归遍历
- 二叉树的建立及递归遍历
- 二叉树的递归建立和遍历
- 递归实现二叉树的建立及前中后序遍历 c
- C++二叉树的建立以及遍历
- 二叉树先序后序递归建立,前中后序层次非递归遍历,以及统计叶子结点个数以及树的深度
- 二叉树的创建,以及递归前中后序以及层次遍历
- 二叉树建立、递归、非递归遍历
- 二叉树的先序以及后序递归建立,先中后序递归遍历。
- 二叉树的建立以及六种递归非递归遍历
- 二叉树的非递归遍历以及递归遍历
- HTML基础知识总结
- JZOJsenior3488.【NOIP2013模拟联考11】矩形(rect)
- 北京SEO祭司:天天更新网站内容怎么还没排名?
- easy-ui插件收获
- 第三章 RDD编程
- 二叉树的建立,以及递归前中后序遍历二叉树
- banner实现流+网络获取图片设置
- Linux下进程的创建
- 软件工程核心思想总结
- Android OTA系统升级---原理三
- FZU 1894 志愿者选拔 单调队列 题解
- Python的序列
- 如何在plsql中终止存储过程的执行
- 最大似然估计和最小二乘估计的区别与联系