二叉树的建立与递归遍历C语言版
来源:互联网 发布:网络运营提成方案 编辑:程序博客网 时间:2024/05/16 06:08
</pre><pre name="code" class="cpp">#include <stdio.h>#include <malloc.h>typedef struct BTNode{char data;struct BTNode *lchild;struct BTNode *rchild;}BTNode;void createTree(BTNode* *T){char ch = getchar();if(ch=='#') {*T=NULL;return;}(*T) = (BTNode*)malloc(sizeof(BTNode));(*T)->data = ch;createTree(&(*T)->lchild);createTree(&(*T)->rchild);} void preOrder(BTNode *T)//先序遍历{if(T==NULL) return;printf("%c\t", T->data);if(T->lchild!=NULL)preOrder(T->lchild);if(T->rchild != NULL)preOrder(T->rchild);}void inOrder(BTNode *T)//中序遍历{if(T==NULL) return;if(T->lchild!=NULL)inOrder(T->lchild);printf("%c\t", T->data);if(T->rchild != NULL)inOrder(T->rchild);}void postOrder(BTNode *T)//后序遍历{if(T==NULL) return;if(T->lchild!=NULL)postOrder(T->lchild);if(T->rchild != NULL)postOrder(T->rchild);printf("%c\t", T->data);}int main(int argc, char const *argv[]){BTNode *T;createTree(&T);puts("PreOrder visit:");preOrder(T);putchar('\n');puts("inOrder visit:");inOrder(T);putchar('\n');puts("PostOrder visit:");postOrder(T);putchar('\n');return 0;}/*运行结果:ABD###C##PreOrder visit:A B D CinOrder visit:D B A CPostOrder visit:D B C A请按任意键继续. . .*/
0 0
- 二叉树的建立与递归遍历C语言版
- 数据结构 树 二叉树的建立及遍历 C语言版
- (C++)二叉树的建立与递归方式遍历
- 二叉树的遍历(递归法)C语言版
- 二叉树的非递归遍历 C语言版
- 二叉树的非递归遍历 C语言版
- 二叉树的非递归遍历 C语言版
- 二叉树的非递归遍历 C语言版
- 二叉树的中序非递归遍历c语言版
- 链式二叉树的遍历C语言版
- 递归实现二叉树的建立及前中后序遍历 c
- 二叉树的几种非递归建立与遍历的实现
- 二叉树的建立与递归遍历C++版
- 二叉树的递归与非递归遍历源码(C++)
- 二叉树的建立及层次遍历及前中后序遍历递归与非递归的实现
- 二叉树的建立及递归遍历
- 递归二叉树的建立于遍历
- 二叉树的建立及递归遍历
- mac下vim的16种配色方案(代码高亮)展示,及配置
- Qt写c++控制台中文乱码问题
- Linux下的inode记录
- iOS开发 - 第02篇 - UI进阶 - 16 - 彩票(第三天)
- IOS-UIImageView
- 二叉树的建立与递归遍历C语言版
- git push 操作代码回退
- IOS 自定义从底部弹上来的View
- Spark RDD使用详解1--RDD原理
- 阻止冒泡的兼容写法
- Android图片setBackgroundResource和setImageResource的区别
- Java...和泛型
- 【洛谷2038 无线网络发射器选址】【模拟】
- android:configChanges 设置 (导致游戏里不能输入文字到输入框)