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

编程之家小编现在分享给大家,也给大家做个参考。

#include

#include

struct Node{

Node *lchild;// 左儿子指针

Node *rchild;// 右儿子指针

char c;//结点字符信息

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

int loc;// 静态数组中已经分配的结点个数

Node *creat(){//申请一个结点空间,返回指向其的指针

Tree[loc].lchild=Tree[loc].rchild=NULL;//初始化左右儿子为空

return &Tree[loc++];

}

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

//修改打印输出的位置就可以进行相应的前序和中序遍历了

void postOrder(Node *T){

if(T->lchild!=NULL){

postOrder(T->lchild);

}

if(T->rchild!=NULL){

postOrder(T->rchild);

}

printf("%c",T->c);// 遍历该结点,输出字符信息

}

Node *build(int s1,int e1,int s2,int e2){

Node* ret=creat();

ret->c=str1[s1];//该结点字符为前序遍历中的第一个字符

int rootIdx;

for(int i=s2;i<=e2;i++){

if(str2[i]==str1[s1]){

rootIdx=i;

break;

}

}

if(rootIdx!=s2){

ret->lchild=build(s1+1,s1+(rootIdx-s2),s2,rootIdx-1);//递归还原其左子树

}

if(rootIdx!=e2){

ret->rchild=build(s1+(rootIdx-s2)+1,e1,rootIdx+1,e2);//递归还原其右子树

}

return ret;

}

int main(){

freopen("in.txt","r",stdin);

while(scanf("%s",str1)!=EOF){

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

loc=0;// 初始化静态内存空间中已经使用结点个数为0

int L1=strlen(str1);

int L2=strlen(str2);

Node *T=build(0,L1-1,L2-1);

postOrder(T);//后序遍历

printf("n");

}

return 0;

}

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

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

总结

以上是编程之家为你收集整理的C++对树进行后序遍历的代码全部内容,希望文章能够帮你解决C++对树进行后序遍历的代码所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

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

后序遍历c语言程序,C++对树进行后序遍历的代码相关推荐

  1. C语言学习笔记——根据二叉树的后序和中序遍历序列,求这棵树的先序和层次遍历序列

    先根据二叉树的后序和中序遍历序列,用递归的方法创建出这棵树,然后用的自定义栈的先序和层次方法遍历. 输入:  7 2 3 1 5 7 6 4                      1 2 3 4 ...

  2. 【数据结构/C语言版】【树】先序(或中序后序)遍历建树

    依靠序列建树 先序序列: ABC##DE#G##F### 先序建树: Status CreateTreeByPrio(BiTree& T) {//按先序次序输入二叉树结点的值char ch;c ...

  3. c语言程序连接后扩展名为,C语言程序经过编译、连接后生成的可执行文件的扩展名是...

    语言程译连奥美特布他林拉唑. 序经表述项为织结中不正确构的点的的一复合优缺式组. 项是的一错误,过编项目资源工程管理的表人力有关述中.了下列哪可能况种情发生,天多续发作一且连,明显理后仍无缓解经处.突 ...

  4. c语言程序执行完main函数后,一个c程序在执行main函数之前和main之后都做了那些事情啊该如何解决...

    当前位置:我的异常网» C语言 » 一个c程序在执行main函数之前和main之后都做了那些 一个c程序在执行main函数之前和main之后都做了那些事情啊该如何解决 www.myexceptions ...

  5. 孔融让梨c语言程序,读完孔融让梨后的心得

    这个故事并不是叫我们让一个梨,而是教我们怎样做人.我们应当学会谦让,要多关心别人,不要光想着自我.我决心以后要做一个像孔融一样有谦让精神的,有爱心的人.下面由小编来给大家分享孔融让梨读书心得,欢迎大家 ...

  6. 一个c语言程序什么时候结束,新人求救,写了一个C语言程序,输入完数据后就结束了!!!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "head.h" int main() { char ch; int n,i; STU stuRecord[STU_ ...

  7. c语言程序执行不了,为什么C语言程序中if和else后的语句执行不了?

    不对,是if(条件1)  如果条件1为真,执行这里:(条件为真才执行) else if(条件2)否则,当条件2为真执行这里.(当条件1不为真,条件2为真执行这里) else条件1,条件2都不为真,执行 ...

  8. 嵩天-Python语言程序设计程序题--第五周:函数和代码复用

    前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...

  9. 确定某天是星期几的c语言程序,计算某天是星期几【C代码】

    [本程序在DEV C++ 4.9.9.2 下编译通过] #include /* 函数名称:int GetWeekDay(int year,int month,int day) 函数功能: 返回输入日期 ...

最新文章

  1. 【物联网智能网关-05】扫描键盘编程设计
  2. eclipse运行WordCount
  3. 3、Power Query-智能汇总工作簿下的指定或所有工作表数据
  4. Working copy XXX locked and cleanup failed in SVN
  5. 有监督学习和无监督学习举例_对比自监督学习
  6. 一个基于typescript、mobx、react16、react-router4、antd的后台模板
  7. linux内核实现片选跳变,《Linux内核设计与实现》读书笔记:进程调度
  8. 【渝粤教育】广东开放大学 经济学基础 形成性考核 (25)
  9. Data Warehouse
  10. 真win10官方原版ISO下载方法
  11. UnicodeDecodeError: 'gbk' codec can't decode byte 0xfe in position 45: illegal multibyte sequence
  12. PTT BBS-- 软件人的心路历程分享 (补习计算机、学习写程序、出书、出国、求职...这位前辈都经历过了)...
  13. 软件工程概述思维导图总结(二)
  14. 简述python的安装过程_安装Python-3.5.2过程中常见的几种错误
  15. 1195 口袋的天空
  16. srand((unsigned int)time(NULL))的理解(C语言)
  17. Roxe:大涨时毅然销毁99% ROC 专注解决跨境汇款难题
  18. mysql数据库级监控及常用计数器解析
  19. 计算机网络常见名词及其解释
  20. 轩小陌的Python笔记-day26 必备SQL语句、表关系及授权

热门文章

  1. 硝烟中的Scrum和XP-我们如何实施Scrum pdf
  2. matlab之保存gif动图
  3. Android_标题栏左上角返回上一级
  4. 蓝桥杯嵌入式第十三届省赛真题1
  5. EXCEL——统计区域内的某个词汇出现次数的方法
  6. 【软考系统架构设计师】复盘架构设计师真题知识点第一章---安全分析与设计
  7. linux怎么写用拼音写中文为什么出错,linux上的搜狗拼音用不了啦?快来看怎么解决...
  8. gps各个模块的解析
  9. 让微信小程序每次请求的时候不改变session_id的方法
  10. Unity Model:模型的默认设置面板