博客
关于我
刷题笔记--树的遍历
阅读量:332 次
发布时间:2019-03-04

本文共 1112 字,大约阅读时间需要 3 分钟。

树的建立

已知先序中序求后续

#include
using namespace std;typedef struct BiTNode{ char data; BiTNode *lchild; BiTNode *rchild;}BiTNode,*tree;BiTNode* creat(char *pre, char *in, int n){ int i = 0; int n1 = 0,n2 = 0; int m1 = 0,m2 = 0; BiTNode*node = NULL; char lpre[1001],rpre[1001]; char lin[1001],rin[1001]; if(n==0) return NULL; node=(BiTNode*)malloc(sizeof(BiTNode)); memset(node,0,sizeof(BiTNode)); node->data=pre[0]; for(i=0;i
lchild=creat(lpre,lin,n1); node->rchild=creat(rpre,rin,n2); return node;} void print(BiTNode *T){ if(T) { print(T->lchild); print(T->rchild); cout<
data; }}//层序 void prin(Tree tree){ if(tree==NULL) return; int i=0,t=0; struct BitNode *s[10086],*q; s[0]=tree; int flag=0; while(t<=i) { q=s[t++]; if(flag) printf(" %d",q->data); else { printf("%d",q->data); flag=1; } if(q->lchild!=NULL) s[++i]=q->lchild; if(q->rchild!=NULL) s[++i]=q->rchild; }}int main(){ char a[50],b[50]; int n,i,j,k; cin>>n; for(i=0;i
>a[i]; getchar(); for(i=0;i
>b[i]; BiTNode* tree=creat(a,b,n); print(tree);}

转载地址:http://pigh.baihongyu.com/

你可能感兴趣的文章
Mybatis【5】-- Mybatis多种增删改查那些你会了么?
查看>>
Mybatis【7】-- Mybatis如何知道增删改是否成功执行?
查看>>
计算输入的一句英文语句中单词数
查看>>
lvs+keepalive构建高可用集群
查看>>
Mysql高可用架构(主从同步)
查看>>
mysql主从延迟高的原因
查看>>
ATS缓存数据结构
查看>>
glob模块
查看>>
6 个 Linux 运维典型问题
查看>>
Failed to get D-Bus connection: Operation not permitted解决
查看>>
oracle无法启动asm实例记录
查看>>
取消vim打开文件全是黄色方法
查看>>
一个系统部署多个tomcat实例
查看>>
HP服务器设置iLO
查看>>
从头实现一个WPF条形图
查看>>
.NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐)
查看>>
C# WPF开源控件库:MahApps.Metro
查看>>
使用QT实现一个简单的登陆对话框(纯代码实现C++)
查看>>
QT :warning LNK4042: 对象被多次指定;已忽略多余的指定
查看>>
GLFW 源码 下载-编译-使用/GLAD配置
查看>>