二叉树递归版本的前序、中序、后序
2015-08-20 16:32
309 查看
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<stack> using namespace std; typedef struct TreeNode { char Data; TreeNode* Left; TreeNode* Right; }*BinTree; typedef struct _BinNode { BinTree p; bool isFirst ; }*BinNode; void CreateBinTree(BinTree &p) { char tmp; scanf("%c", &tmp); if (tmp != '#') { p = (BinTree)malloc(sizeof(TreeNode)); p->Data = tmp; CreateBinTree(p->Left); CreateBinTree(p->Right); } else { p = NULL; } } void PreOrderTraversal(BinTree T) { if (T) { printf("%c",T->Data); PreOrderTraversal(T->Left); PreOrderTraversal(T->Right); } } void InOrderTraversal(BinTree T) { if (T) { InOrderTraversal(T->Left); printf("%c", T->Data); InOrderTraversal(T->Right); } } void PostOrderTraversal(BinTree T) { if (T) { PostOrderTraversal(T->Left); PostOrderTraversal(T->Right); printf("%c", T->Data); } } int main() { BinTree T = NULL; printf("CreateBinTree\n"); CreateBinTree(T); printf("\nPreOrderTraversal\n"); PreOrderTraversal(T); printf("\nInOrderTraversal\n"); InOrderTraversal(T); printf("\nInOrderTraversal\n"); printf("\nPostOrderTraversal\n"); PostOrderTraversal(T); return 0; }
相关文章推荐
- 装饰器与函数式Python(译)
- 虚拟化--004 在connection报错保存 vCenter 条目时出错
- Max Num---hdu2071
- 杭电——2033-人见人爱
- 计算两点间的距离-hdu2001
- 求绝对值,hdu-2003
- 计算球体积,hdu-2002
- 计算两点间的距离,hdu-2001
- ASCII码排序,hdu-2000
- 定义#define
- 暑训3周学习心得和英语四级总结
- DOM(一)-19-(节点操作-替换&克隆节点)
- leetcode:Substring with Concatenation of All Words
- Objective-c之NSArray(NSMutableArray)
- (15)Visual Studio中使用PCL项目加入WCF WebService参考
- MySQL数据库常用命令集
- WPF 多项选择下拉菜单
- 序列化二进制方法的实现
- 在类Unix系统上开始Python3编程入门
- 虚拟化--003 利用vsphere client来开启esxi的ssh功能