本篇文章给大家分享的是有关C语言中怎么实现后序遍历,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
后续遍历的实现:
数据结构树中的后续遍历,这里提供简单实例,代码中有注释,大家参考下!
看下实现效果:
题目及分析
给定树的先序遍历和中序遍历,求后续遍历
输入
abdec
dbeac
输出
debca
三、实现代码:
#include <iostream>
#include <string>
using namespace std;
string s1="abdec";//先序遍历
string s2="dbeac";//中序遍历
void calc(int l1,int r1,int l2,int r2){
int m=s2.find(s1[l1]);
//cout<<m<<endl;
if(m>l2) calc(l1+1,l1+m-l2,l2,m-1);
if(m<r2) calc(l1+m-l2+1,r1,m+1,r2);
//cout<<s2[m]<<" ";
cout<<s1[l1];
}
int main(){
calc(0,s1.length()-1,0,s2.length()-1);
cout<<endl;
return 0;
}
以上就是C语言中怎么实现后序遍历,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。