用数组表示树并通过先序序列和中序序列建树

#include #include #include #include #include #include #include #include //默认以先序序列编号 using namespace std; int cnt=0; char pre[100],mid[100],val[100]; int lch[100],rch[100]; int buildtree(int L1,int R1,int L2,int R2){ if(L1>R1) return 0; char root_val=pre[L1]; int i=L2; while(mid[i]!=root_val) i++; int lcnt=i-L2; lch[L1]=buildtree(L1+1,L1+lcnt,L2,i-1); rch[L1]=buildtree(L1+lcnt+1,R1,i+1,R2); return L1; }void post(int root){ if(root==0) return; post(lch[root]); post(rch[root]); cout<【用数组表示树并通过先序序列和中序序列建树】

    推荐阅读