数据结构二叉树的建立以及递归遍历
来源:互联网 发布:网络药品销售 编辑:程序博客网 时间:2024/06/05 06:59
/* Note:Your choice is C IDE */#include "stdio.h"#include "stdlib.h"#define OK 1#define ERROR 0#define OVERFLOW -1typedef char TElemType;typedef int Status;/*************struct***************/typedef struct BTNode{TElemType data;struct BTNode *lchild;struct BTNode *rchild;}BTNode,*BiTree;/************create***************/Status CreateBiTree_L(BiTree *T){char a;a=getchar();if (a=='#') *T=NULL;else {(*T)=(BiTree)malloc(sizeof(BTNode));if(!(*T))exit(OVERFLOW); (*T)->data=a; getchar(); CreateBiTree_L(&(*T)->lchild); getchar(); CreateBiTree_L(&(*T)->rchild);}return OK;}/********************PreOrder****************/Status PreOrderTraverse(BiTree T){if(T){if(!printf("%5c",T->data))return ERROR;PreOrderTraverse(T->lchild);PreOrderTraverse(T->rchild);}return OK;}/********************InOrder****************/Status InOrderTraverse(BiTree T){if(T){InOrderTraverse(T->lchild);if(!printf("%5c",T->data))return ERROR;InOrderTraverse(T->rchild);}return OK;}/********************PostOrder****************/Status PostOrderTraverse(BiTree T){if(T){PostOrderTraverse(T->lchild);PostOrderTraverse(T->rchild);if(!printf("%5c",T->data))return ERROR;}return OK;}void main(){BiTree T1;printf("Please enter value for node,if lchild or rchild is empty ,please enter #\n"); CreateBiTree_L(&T1); printf("printf datas in PreOrder\n"); PreOrderTraverse(T1); printf("\nprintf datas in IneOrder\n"); InOrderTraverse(T1); printf("\nprintf datas in PostOrder\n"); PostOrderTraverse(T1); system("pause");}
- 数据结构二叉树的建立以及递归遍历
- 二叉树的建立,以及递归前中后序遍历二叉树
- 数据结构之二叉树的递归建立和遍历
- 数据结构之二叉树的递归建立和遍历(续)
- 【数据结构基础】二叉树的建立和递归遍历
- 二叉树的递归建立以及深度优先遍历
- 二叉树的建立以及先序中序后序递归遍历
- 【数据结构实验】二叉树的建立以及遍历
- 二叉树建立以及递归、非递归遍历
- 数据结构——二叉树的建立和遍历(递归建树&层序遍历建树)
- 二叉树的建立及递归遍历
- 递归二叉树的建立于遍历
- 二叉树的建立及递归遍历
- 二叉树的建立及递归遍历
- 二叉树的递归建立和遍历
- 二叉树的先序以及后序递归建立,先中后序递归遍历。
- 二叉树的建立以及六种递归非递归遍历
- 数据结构 二叉树的建立与遍历
- folly源码分析(3)- ThreadLocalPtr
- UI选中界面代码实现
- WPF程序同样的代码在WIN7和XP下结果不一样?
- UI选框实现图示
- 选择排序(selection_sort)详解
- 数据结构二叉树的建立以及递归遍历
- Malloc与new 的区别
- 简单表达式求值——算符优先法
- android中各种音量的设置
- 单实例运行程序和SetEventData在非WinCE平台下的实现
- folly源码分析(4)- ConcurrentSkipList.h
- new/delete 和malloc/free 的区别(综合转帖)
- 12周任务3:四数的最大公约数
- JS改变浏览器大小的事件