数据结构二叉树的递归遍历
来源:互联网 发布:淘宝油画 莫奈的花园 编辑:程序博客网 时间:2024/06/06 03:28
btree.h
#ifndef BTREE_H_INCLUDED#define BTREE_H_INCLUDEDtypedef char ElemType;#define MaxSize 101typedef struct node{ ElemType data; struct node *lchild; struct node *rchild;}BTNode;void CreateBTNode(BTNode *&b,char *str);void DispBTNode(BTNode *b);void DestroyBTNode(BTNode *&b);void PreOrder(BTNode *b);void InOrder(BTNode *b);void PostOrder(BTNode *b);#endif // BTREE_H_INCLUDEDmain.cpp
#ifndef BTREE_H_INCLUDED#define BTREE_H_INCLUDEDtypedef char ElemType;#define MaxSize 101typedef struct node{ ElemType data; struct node *lchild; struct node *rchild;}BTNode;void CreateBTNode(BTNode *&b,char *str);void DispBTNode(BTNode *b);void DestroyBTNode(BTNode *&b);void PreOrder(BTNode *b);void InOrder(BTNode *b);void PostOrder(BTNode *b);#endif // BTREE_H_INCLUDED
btree.cpp
#include "btree.h"#include <iostream>#include<malloc.h>#include<cstdio>void CreateBTNode(BTNode *&b,char *str){ BTNode *St[MaxSize],*p; int top=-1,k,j=0; char ch; ch=str[j]; b=NULL; while(ch!='\0') { switch(ch) { case '(': top++; St[top]=p; k=1; break; case ')': top--; break; case ',': k=2; break; default: p=(BTNode *)malloc(sizeof(BTNode)); p->data=ch; p->lchild=p->rchild=NULL; if(b==NULL) b=p; else { switch(k) { case 1: St[top]->lchild=p; break; case 2: St[top]->rchild=p; break; } } } j++; ch=str[j]; }}void DispBTNode(BTNode *b){ if(b!=NULL) { printf("%c",b->data); if(b->lchild!=NULL||b->rchild!=NULL) { printf("("); DispBTNode(b->lchild); if(b->rchild!=NULL) printf(","); DispBTNode(b->rchild); printf(")"); } }}void DestroyBTNode(BTNode *&b){ if(b==NULL) { DestroyBTNode(b->lchild); DestroyBTNode(b->rchild); free(b); }}void PreOrder(BTNode *b){ if(b!=NULL) { printf("%c ",b->data); PreOrder(b->lchild); PreOrder(b->rchild); }}void InOrder(BTNode *b){ if(b!=NULL) { InOrder(b->lchild); printf("%c ",b->data); InOrder(b->rchild); }}void PostOrder(BTNode *b){ if(b!=NULL) { PostOrder(b->lchild); PostOrder(b->rchild); printf("%c ",b->data); }}
0 0
- 数据结构 二叉树的非递归遍历
- 【数据结构】二叉树的递归遍历
- 数据结构:二叉树的非递归遍历
- 二叉树的非递归遍历-数据结构
- 数据结构二叉树的递归遍历
- 数据结构-递归遍历二叉树
- 数据结构之二叉树的递归创建、递归遍历
- [数据结构] 二叉树的递归与非递归遍历
- 【数据结构】二叉树的遍历(递归与非递归)
- 【数据结构与算法】二叉树的遍历(递归遍历、非递归遍历、层序遍历)
- 【数据结构】二叉树的定义,递归遍历,非递归遍历,层次遍历,深度等
- [数据结构]对三序非递归遍历二叉树的理解
- 严蔚敏数据结构二叉树的先序中序后序遍历(递归方式)
- 数据结构二叉树的先序中序后序遍历(递归方式)
- 数据结构二叉树的建立以及递归遍历
- 数据结构----二叉树遍历的非递归算法实现
- 数据结构之二叉树的非递归遍历
- 数据结构例程——二叉树遍历的递归算法
- Spring学习(十六)Spring Bean内容模型介绍
- Endless Punishment——HOJ
- leetcode-Java-202. Happy Number
- bzoj 1751 [Usaco2005 qua]Lake Counting
- SQL Server 2012内部原理及故障排除(专栏)
- 数据结构二叉树的递归遍历
- 如何让网页大小自适应的JS代码
- 凸优化性质的证明
- ExpandableListView使用心得
- Gallery 横向滑动的刻度尺
- win10 vmware station 12.1 虚拟机系统 ubuntu linux12.04问题
- 【MyBatis框架点滴】——MyBatis一对多查询
- SQL Server健康检查
- 使用 Android Studio自定义View02——图文混排的View