#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef char datatype ;
typedef struct node
{
datatype data;
struct node *lchild,*rchild;
}treenode;
typedef treenode *BiTree;
typedef struct stack
{
BiTree data[MAXSIZE];
int tag[MAXSIZE];
int top;
}seqstack;
BiTree pop(seqstack *s)
{
if(s->top!=0)
{
s->top--;
return s->data[s->top];
}
else return NULL;
}
void push(BiTree t,seqstack *s)
{
s->data[s->top]=t;s->top++;
}
void creatree(BiTree &T)
{
char ch;
ch=getchar();
if(ch=='#') T=NULL;
else
{
T=(BiTree)malloc(sizeof(treenode));
T->data=ch;
creatree(T->lchild);
creatree(T->rchild);
}
}
void preorder(BiTree T)
{
if(T)
{
printf("%c",T->data);
preorder(T->lchild);
preorder(T->rchild);
}
}
void inorder(BiTree T)
{
if(T)
{
inorder(T->lchild);
printf("%c",T->data);
inorder(T->rchild);
}
}
int find(BiTree T,BiTree x,seqstack *s)
{
s->top=0;
while(T||s->top)
{
if(T)
{
s->tag[s->top]=0;
push(T,s);
T=T->lchild;
}
else
{
if(s->top&&s->tag[s->top-1])
{
T=pop(s);
if(T&&T->data==x->data)
return s->top;
T=NULL;
}
else
{
T=s->data[s->top-1];
s->tag[s->top-1]=1;
T=T->rchild;
}
}
}
return -1;
}
void grandpar(seqstack *sq,seqstack *sp)
{
while(sq->top!=sp->top)
{
if((sq->top-1)>(sp->top-1))
{
pop(sq);
}
else
{
pop(sp);
}
}
while(sp->top)
{
if(sq->data[sq->top-1]==sp->data[sp->top-1])
{
printf("%4c",sq->data[sq->top-1]->data);
}
pop(sq);
pop(sp);
}
}
main()
{
BiTree root,p,q;
seqstack *sp,*sq;
int x,y;
root=(BiTree)malloc(sizeof(treenode));
p=(BiTree)malloc(sizeof(treenode));
q=(BiTree)malloc(sizeof(treenode));
sq=(seqstack *)malloc(sizeof(seqstack));
sp=(seqstack *)malloc(sizeof(seqstack));
printf("请用前序遍历创建一棵二叉树:");
creatree(root);
printf("该二叉树为");
preorder(root);
printf("\n请输入要查找共同祖先的两个结点:");
getchar();
scanf("%c%c",&p->data,&q->data);
x=find(root,p,sp);
y=find(root,q,sq);
printf("这两个结点的共同祖先为");
grandpar(sq,sp);
}
废话,当然不是我写的啦,要是我写的怎么可能不会注释,不过看你给我回答了,就当做采纳了
谁能帮我把涂鸦下面的数字说出来,重重有赏!
实验室的水龙头放出来的水会变成红色 还有1楼尽头的那个厕所只要有人进去了就再也出不来了 于是 一群不信邪的孩子们约好15那天去探险 晚上12点 他们准时来到了那所学校的门口 鲁迅像的眼睛望着左边 他们记下了 生怕出来的时候记不得有没有动过 他们来到了教室 打开开关 咦 不是亮着的么?“骗...
谁能帮我把这对联翻译出来,重重有赏!急急急急急急!!!
你好!你的问题回答如下:第一幅对联内容为:清越而瑕不自掩,洁白而物莫能污。(出自唐代.刘禹锡的《明贽论》)第二幅对联内容为:竹死不变节,花落有馀香。 (出自唐代.邵谒的《金谷园怀古》)希望你能满意,祝你事事顺心!
帮我翻译一下这样。 要无烦恼要无愁,本分随缘莫强求。 无益语言休出口...
急躁地裁断事理是不妥的。智者应该同时 明察正确与错误两方面。积德虽无人见,存心自有天知。浮生若梦谁非寄,到处能安既是家。放下过去的烦恼,不耽忧未来,不执著现在,你的内心就会平静。聪明的人不奢望未来,也不追悔过去。处世让一步为高,退步即进步的张本,待人宽一分是福,利人实利己的根基。...
帮忙把秦观《踏莎行》赏析一下?
【砌成此恨无重数】一个“砌”字,将那无形的伤感形象化(即将无形变为有形),好像还可以重重累积,终如砖石垒墙般筑起一道高无重数、沉重坚实的“恨”墙。【可堪孤馆闭春寒,杜鹃声里斜阳暮】春寒料峭时节,独处客馆,念往事烟霭纷纷,瞻前景不寒而栗。一个“闭”字,锁住了料峭春寒中的馆门...
求数学大神来帮我解一下这个贝塞尔函数,急用,重重有赏
169=1*16=4*4
喜羊羊与灰太狼之牛气冲天的故事谁能基本帮罔我讲一下。。。拜托了我...
而熟悉的声音回到大家身边:“灰太狼,这可是你发明的控制器哦。”此刻喜羊羊正用控制器控制红太狼殴打灰太狼。原来喜羊羊再次被蜗牛排出体外并捡得灰太狼的放大丸成功脱险!随后喜羊羊饶恕了灰太狼一家的行为并用大炮把他们发射上了天。当然最后又是灰太狼说:可恶的喜羊羊,我一定会回来的!
谁能教我把这个网页(尤其文字)复制下来,重重有赏
金秋十月,谢老师与学生经过一个多月实验的新课题《生长素的生理作用》获得全省生物年会优质课竞赛二等奖,并得到省教研员董仲文老师的肯定!冬意绵绵的十二月,从省电教馆再次传来喜讯,我校年轻教师谢佳荣获“湖南省2008年信息技术与课程整合三优联评活动”教学课件一等奖、教学设计一等奖、教学课例一等奖...
介绍一下电影<三岔口>的剧情.越详细越好
剧情介绍:一个被押解回港的洗黑钱分子甫刚下飞机便遭杀害,行凶的职业杀手曲逃去无踪。买凶杀人的洗钱集团主脑饶天颂眼看被冻结的资产即将解冻,可是,独生子饶夏却神秘被掳失踪。负责解犯的警员孙是个倒霉专家,他钟爱的女友素芳人间蒸发,生死不明,令他一直不能释怀。 在调查过程中,他发现洗钱集团...
人教版小学语文1至6年级的课文填空。重重有赏!回答一个年级的10分,两...
16、鸟无翅膀不能飞,人无志气无作为。人贵有志,学贵有恒。懦夫在他真正断气以前,已经死过好多次了。少壮不努力,老大徒伤悲。欲求生富贵,须下死功夫,一个人追求的目标越高,他的才能就发展得越快,对社会就越有益。 17、《孔子游春》是一篇游记(体裁),它生动地描述了孔子带弟子到泗水河畔游赏,巧借河水诱导...
谁帮我做这个数学难题,重重有赏!先给50,后给200.
2的三次方)---(2N+1 ,2的M)--(2de M , 2N +1)3 (1,1)--(1,2)--(1,4)--(1,8)--(1,9)--(1,10)--(10,1)--(10,11)-(11,10)--(11,21)--(11,23)---(11,2012)--(2012,11) 2012 = 11*182 +10 ...