九度 1009

来源:互联网 发布:用友软件合同 编辑:程序博客网 时间:2024/05/23 14:17

还是找不到为什么下面的代码的问题快哭了

#include<iostream>#include<cstring>#include<memory.h>using namespace std;typedef struct node{        int key;        struct node *lchild,*rchild;}*Btree,Node;int item;void createBtree(Btree &T,int *num,int n);void preOrder(Btree &T,int *num1);void inOrder(Btree &T,int *num2);bool insertTree(Btree &T,int ele);int main(){        char a[15];        char b[15];        int a1[15];        int b1[15];        int bnum[15];        int anum[15];        int n;        Btree T,T1;        while(cin>>n && n)        {                memset(a,'\0',sizeof(a));                memset(b,'\0',sizeof(b));                memset(anum,-1,sizeof(anum));                memset(bnum,-1,sizeof(bnum));                cin>>a;                int length=strlen(a);                for(int j=0;j<length;j++)                {                        anum[j]=a[j]-'0';                }                createBtree(T,anum,length);                while(n--)                {                        cin>>b;                        length=strlen(b);                        for(int j=0;j<length;j++)                        {                                bnum[j]=b[j]-'0';                        }                        createBtree(T1,bnum,length);                        memset(a1,-1,sizeof(a1));                        memset(b1,-1,sizeof(b1));                        item=0;                        preOrder(T,a1);                        item=0;                        preOrder(T1,b1);                        int k;                        for(k=0;k<15;k++)                        {                                if(a1[k]!=b1[k])                                {                                        cout<<"NO\n";                                        break;                                }                        }                        if(k!=15)                                break;                        item=0;                        inOrder(T,a1);                        item=0;                        inOrder(T1,b1);                        for(k=0;k<15;k++)                        {                                if(a1[k]!=b1[k])                                {                                        cout<<"NO\n";                                        break;                                }                        }                        if(k==15)                                cout<<"YES\n";                }        }        return 0;}void createBtree(Btree &T,int *num,int n){        T=NULL;        int i;        for(i=0;i<n;i++)        {                insertTree(T,num[i]);        }}bool insertTree(Btree &T,int ele){        if(T==NULL)        {                T=new Node;                T->key=ele;                T->lchild=T->rchild=NULL;                return true;        }        if(ele<T->key)                return insertTree(T->lchild,ele);        if(ele>T->key)                return insertTree(T->rchild,ele);}void inOrder(Btree &T,int *num2){        if(T)        {                inOrder(T->lchild,num2);                num2[item++]=T->key;                inOrder(T->rchild,num2);        }}void preOrder(Btree &T,int *num1){        if(T)        {                num1[item++]=T->key;                preOrder(T->lchild,num1);                preOrder(T->rchild,num1);        }}

留着以后慢慢看!!!!


0 0
原创粉丝点击