您的位置:首页 > 其它

根据前序,中序写出后向遍历

2016-06-10 16:22 239 查看
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;

void post_order(const char *pre,const char *in,int len) //这里用的静态指针
{
if(len<1)return ;
int i=0;  //每次递归i都初始为0
while(in[i]!=pre[0])i++;  //找出位置
post_order(pre+1,in,i);
post_order(pre+i+1,in+i+1,len-i-1);
cout<<pre[0];   //后序=左后序+右后序+根
}
int main()
{
string pre,in;
cin>>pre>>in;
post_order(pre.c_str(),in.c_str(),in.size());
} // c_str()返回的是 const char * 不能直接赋值给 char*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: