博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树hdu1710
阅读量:5248 次
发布时间:2019-06-14

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

学习二叉树,看了两天也不明白,唉!acm之路让我体验到要付出巨大的努力,废话不多说,看我网上找到的代码:

此题题意很明确,给你先序遍历,中序遍历,求后序遍历。但代码就让我找不到东西了。

#include 
#include
void build(int n,int *a,int *b,int *c){ int *p=b; if(n<=0)return; while(1) { if(a[0]==*p) break; else p++; } int x=p-b; build(x,a+1,b,c); build(n-x-1,a+x+1,b+x+1,c+x); c[n-1]=a[0];}int main(){ int n,i; while(~scanf("%d",&n)) { int a[1002],b[1002],c[1002]; for(i=0;i

这为结构体指针的一个代码!

#include
#include
int a[1000],b[1000];int flag;typedef struct node{ int data; struct node *lchild,*rchild;} Tnode,*Tree;int m=sizeof(Tnode);Tree newnode(){ Tree p; p=(Tree)malloc(m); p->lchild=NULL; p->rchild=NULL; return p;}void Creat(int i,int j,int k,int t,Tree p)//此处理解甚为重要,建立过程,先自己模拟的过程如果模拟的过程理解了这里就容易许多{ p->data=a[i]; int m; for(m=k; m<=t; m++) { if(a[i]==b[m]) break; } if(m==k)p->lchild=NULL; else { p->lchild=newnode(); Creat(i+1,i+(m-k),k,m-1,(p->lchild));//需要理解的地方 } if(m==t)p->rchild=NULL; else { p->rchild=newnode(); Creat(i+(m-k)+1,j,m+1,t,(p->rchild));//此处也是需要加强理解之处 }}void post(Tree p){ if(p!=NULL) { post(p->lchild); post(p->rchild); if(p->data!=NULL) if(flag==0) { printf("%d",p->data); flag=1; } else printf(" %d",p->data); }}int main(){ Tree root; int i,n; while(scanf("%d",&n)!=EOF) { flag=0; for(i=1; i<=n; i++) scanf("%d",&a[i]); for(i=1; i<=n; i++) scanf("%d",&b[i]); root=newnode(); Creat(1,n,1,n,root); post(root); printf("\n"); } return 0;}

 

也许以后会看得懂吧!

转载于:https://www.cnblogs.com/ccccnzb/p/3352664.html

你可能感兴趣的文章
多进程与多线程的区别
查看>>
Ubuntu(虚拟机)下安装Qt5.5.1
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
学习Spring Boot:(二十八)Spring Security 权限认证
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>