服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言数据结构树之后序遍历的实现

C语言数据结构树之后序遍历的实现

2021-05-24 15:29Renyi-Fan C/C++

这篇文章主要介绍了C语言数据结构之后序遍历的实现的相关资料,这里提供一个简单实例来实现后续遍历,对于数据结构树的学习很有帮助,需要的朋友可以参考下

后续遍历的实现:

           数据结构树中的后续遍历,这里提供简单实例,代码中有注释,大家参考下!

看下实现效果:

C语言数据结构树之后序遍历的实现

题目及分析

给定树的先序遍历和中序遍历,求后续遍历

输入

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

延伸 · 阅读

精彩推荐