33,027
社区成员




void createTree(BiTree T,string pre,string in){
//递归由前序中序建立二叉树
T->data = pre[0];
T->lchild = T->rchild = NULL;
int i;
for(i=0;i<in.length();i++)
if(in[i] == pre[0]) break;
if(i>0){
T->lchild = new BiNode();
createTree(T->lchild,pre.substr(1,i),in.substr(0,i));
}
if(i<pre.length()-1){
T->rchild = new BiNode();
createTree(T->rchild,pre.substr(i+1,pre.length()-i),in.substr(i+1,in.length()-i));
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/joanlynnlove/archive/2009/03/20/4008281.aspx