使用扩展二叉树的方法建立二叉树
2017-09-20 13:26
288 查看
/************************************************************************* * > File Name: test.c > Author: ma6174 > Mail: ma6174@163.com > Created Time: Tue 19 Sep 2017 09:59:50 PM CST ************************************************************************/ #include<stdio.h> #include<stdlib.h> #define ERROR 0 #define OK 1 typedef int Status; typedef char TElemType ; struct BiTNode { TElemType data; struct BiTNode *lchild, *rchild; }; void CreateBiTree(struct BiTNode **T) { TElemType ch; scanf("%c", &ch); if(ch == '#') *T = NULL; else { *T = (struct BiTNode*)malloc(sizeof(struct BiTNode)); if(*T == NULL) exit(EXIT_FAILURE); (*T)->data = ch;//生成根节点 CreateBiTree(&(*T)->lchild);//构造左子树 CreateBiTree(&(*T)->rchild); //构造右子树 } } struct BiTNode* CreateTree(void) { TElemType ch; struct BiTNode *node = NULL; scanf("%c", &ch); if(ch == '#') return NULL; else { node = (struct BiTNode*)malloc(sizeof(struct BiTNode)); if(node == NULL) exit(EXIT_FAILURE); node->data = ch;//生成根节点 node->lchild = CreateTree(); node->rchild = CreateTree(); return node; } } void PreOrderTraverse(struct BiTNode *tree) { if(tree == NULL) return; else { printf("%c ", tree->data); PreOrderTraverse(tree->lchild); PreOrderTraverse(tree->rchild); } } int main(void) { struct BiTNode *tree = CreateTree(); //CreateBiTree(&tree); PreOrderTraverse(tree); printf("\n"); return 0; }
相关文章推荐
- MVC为Html对象建立一个扩展方法,使用自己的控件就像使用TextBox一样方便
- MVC为Html对象建立一个扩展方法,使用自己的控件就像使用TextBox一样方便
- 使用数组的方法建立一颗二叉树
- C#3.0 中使用扩展方法来扩展接口
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- 使用74系列芯片作为I/O并行扩展的方法以及总线驱动芯片的使用方法
- [Flex=JRun+IIS] 的方法,使用Flex Bulider 建立Flex新站点!
- LINQ下使用三层架构的探索(四)建立一个逻辑访问层,并且添加一些查询方法
- 使用7.0建立一个的的最好方法是
- C#3.0 中使用扩展方法来扩展接口
- 使用扩展方法和静态门面类实现伪领域对象
- Tip#1-使用扩展方法创建新的HTML Helper
- 在.net 2.0/3.0程序中使用扩展方法
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- .net 3.0+关于实现IEnumerable的类型的扩展方法的使用一
- 在VBA中使用Find方法 (扩展用法)
- 水晶报表使用经验谈1--建立水晶报表第一步及编译最易出现错误的解决方法及报表转换成pdf文档进行打印方法
- C#3.0 中使用扩展方法来扩展接口
- C#3.0 中使用扩展方法来扩展接口
- C# 3.0新特性初步研究 Part2:使用扩展方法