首页 > 编程知识 正文

用c语言编写的圣诞树,c语言树的高度

时间:2023-05-06 14:06:58 阅读:170726 作者:2067

以下是编程器jb51.cc通过网络收集整理的代码片段。

编程之家的编辑现在分享给大家,作为参考。

#包含

#包含

struct Node{

Node *lchild; //左儿子的指针

Node *rchild; //右儿子指针

char c; //节点字符信息

}Tree[50]; //静态内存分配数组

int loc; //分配给静态数组的节点数

请求Node *creat ()//节点空间,并返回指向那里的指针

tree [ loc ].lchild=tree [ loc ].rchild=null; //初始化左右的儿子为空

返回树[ loc ];

}

char str1[30],str2[30]; //保存前序和中序遍历字符串

//只要修正打印输出的位置,就可以进行适当的前序和中序遍历

voidpostorder(node*t ) {

if(T-Lchild!=NULL ) {

postorder(t-lchild;

}

if(T-Rchild )!=NULL ) {

postorder(t-rchild );

}

printf('%c ',T-c ); //遍历该节点并输出文字信息

}

node*build(intS1,int e1,int s2,int e2 ) {

Node* ret=creat (;

ret-c=str1[s1]; //该节点字符是先行遍历第一个字符

int rootIdx;

for(intI=S2; i=e2; I ) {

if(str2[I]==str1[S1] ) {

rootIdx=i;

黑;

}

}

射频(rootidx!=s2 ) {

ret-lchild=build(S1,S1 ) rootIdx-1 )、s2,rootIdx-1 ); //递归地恢复其左侧的树

}

射频(rootidx!=E2({

ret-rchild=build(S1(rootidx-S2 ) 1,e1,rootIdx 1,e2 ); //递归恢复其右边的子树

}

返回;

}

int main ()。

freopen(in.txt )、(r )、stdin );

wile(Scanf ),str1!=EOF

scanf('%s ',str2); //输入

loc=0; //初始化的静态内存空间中使用的节点数为0

intL1=Strlen(str1;

intL2=Strlen(str2;

node*t=build(0,L1-1,L2-1 );

postorder(t; //稍后遍历

打印f (n );

}

返回0;

}

以上是编程之家(jb51.cc )为你收集整理的所有代码内容,希望能解决文章面临的程序开发问题。

如果你觉得编程主页的内容不错,欢迎向程序员朋友推荐程序员网站。

总结

以上是编程器为你收集整理的C推后树代码的全部内容,希望文章能解决C推后树代码面临的程序开发问题。

如果你觉得编程主页的内容不错,欢迎向程序员朋友推荐程序员网站。

此文字内容由网友互联网收集整理提供,仅供学习参考,版权归原作者所有。

小编个人微信号jb51ccc

喜欢与人分享编程技术和工作经验,欢迎来到编程之家官方交流群!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。