#include <iostream.h>
#include <stdlib.h>
#include<malloc.h>
typedef char ElemType;
struct node
{
char data;
node *left;
node *right;
};
struct BTreeNode{
ElemType data;
BTreeNode* left;
BTreeNode* right;
};
void hh(BTreeNode* BT,int a[100],int b[100],int n){
BT->data =a[0];
int i,j,k,p,x,y,q,h;
x=y=j=h=0;
int c[100],d[100],e[100],f[100];
int r=a[0];
for(i=0;i<n;i++){
if(b[i]!=r){
c[h]=b[i];
h++;
}
if(b[i]==r){
p=k=i;
break;
}
}
for(i=k+1;k<n;k++){
d[x]=b[i];
x++;
}
if(a[0]!=b[p-1]){
for(i=1;i<n;i++){
if(a[i]!=b[p-1]){
e[j]=a[i];
j++;
}
if(a[i]==b[p-1]){
e[j]=b[p-1];
q=i;
break;}
}
}
else q=0;
for(k=q+1;k<n;k++){
f[y]=a[k];
y++;
}
cout<<"ddddd";
if(j!=0)hh(BT->left,e,c,p-1);
if(y!=0)hh(BT->right,f,d,n-p-1);
}
int main(){
int a[7]={ 1,2,3,4,5,6,7};
int b[7]={ 3,2,4,1,5,7,6};
BTreeNode* CT;
hh(CT,a,b,7);
int m;
m=CT->left ->data ;
cout<<m;
}
这是我编的 不知道对不对 而且有错误 能不能帮忙看一下 很急 真的 谢谢