procedure Solve(mid,post:string);var i:integer;beginif (mid='''') or (post='''') then exit;i:=pos(post[length(post)],mid);pre:=pre+post[length(post)]; {加上根,递归结束后pre即为前序遍历}solve(copy(mid,1,I-1),copy(post,1,I-1));solve(copy(mid,I+1,length(mid)-I),copy(post,I,length(post)-i));end;这是一个用字符串实现的程序具体在做的时候把字符串改为数组就行了大概算法是这样的 |