已知前序中序求后序
#include <iostream>
#include <cstdio>
using namespace std;
void post(char * pre, char * in, int len){
char ch;
if(len == 0) return;
ch = * pre;
int i;
for(i = 0; i < len; i++){
if(in[i] == *pre) break;
}
post(pre + 1, in, i);
post(pre + 1 + i, in + i + 1, len - i - 1);
cout << ch << " ";
}
int main(){
char pre[8] = {'G','D','A','F','E','M','H','Z'};
char in[8] = {'A','D','E','F','G','H','M','Z'};
post(pre,in, 8);
return 0;
}