后续遍历的实现:
数据结构树中的后续遍历,这里提供简单实例,代码中有注释,大家参考下!
看下实现效果:
题目及分析
给定树的先序遍历和中序遍历,求后续遍历
输入
abdec
dbeac
输出
debca
三、实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#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 ; } |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://www.cnblogs.com/Renyi-Fan/p/7220299.html