| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 446 人关注过本帖
标题:编译错误,,大神帮我改一下
只看楼主 加入收藏
wu2304211
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-3-10
结帖率:0
收藏
 问题点数:0 回复次数:0 
编译错误,,大神帮我改一下
#include<iostream>
#include<string>
using namespace std;
typedef struct ElemType{
   char key;
}ElemType;
typedef struct BSTNode{
    ElemType data;    //结点数据域
    BSTNode *lchild, *rchild;    //左右孩子指针
}BSTNode, *BSTree;
//算法7.5 二叉排序树的插入
void InsertBST(BSTree &T, ElemType e) {
 //当二叉排序树T中不存在关键字等于e.key的数据元素时,则插入该元素
 if (!T) {                     //找到插入位置,递归结束
        BSTree S = new BSTNode;                 //生成新结点*S
        S->data = e;                       //新结点*S的数据域置为e
        S->lchild = S->rchild = NULL;    //新结点*S作为叶子结点
        T = S;                 //把新结点*S链接到已找到的插入位置
 }
    else if (e.key< T->data.key)
        InsertBST(T->lchild, e);     //将*S插入左子树
    else if (e.key> T->data.key)
        InsertBST(T->rchild, e);     //将*S插入右子树
}// InsertBST
void CreateBST(BSTree T){
        T = NULL;
        ElemType e;
        string str;
        cin >> str;
 for (int i=0;i<str.length();i++)
 {
        e.key = str[i];
        InsertBST(T, e);
 }
}//CreatBST
int XianXu(BSTree T,char a[])
{
    int j=0;
 if (T)
 {
        a[j] = T->data.key;
        j++;
        XianXu(T->lchild,a);
        XianXu(T->rchild,a);
 }

    return j;
}
int ZhongXu(BSTree T,char b[])
{
    int k=0;
    if(T)
    {
        ZhongXu(T->lchild,b);
        b[k]=T->data.key;
        k++;

        ZhongXu(T->rchild,b);
    }
    return k;
}
int main()
{
    char a[11],b[11],d[11],f[11];
    int i,n,m,X,Y,len_a,len_b,len_d,len_f;
    BSTree T;
    CreateBST(T);
    len_a=XianXu(T,a);
    len_b=ZhongXu(T,b);
    cin>>n;
    for(m=0;m<n;m++)
    {

        T = NULL;
        ElemType e;
        string text;
        cin>>text;
        BSTree T;
        CreateBST(T) ;
        len_d=XianXu(T,d);
        len_f=ZhongXu(T,f);
        for(i=0;i<len_a;i++)
            for(i=0;i<len_d;i++)
            {
            if(a[i]!=d[i])
                    {
                        X=0;
                        break;
                    }
                else
                    X=1;
        }
        for(i=0;i<len_b;i++)
            for(i=0;i<len_f;i++)
        {
            if(b[i]!=f[i])
            {
                Y=0;
                break;
            }
            else
                Y=1;
        }
        if(X==1&&Y==1)
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
}
搜索更多相关主题的帖子: 左右 元素 关键字 include 
2015-07-09 09:47
快速回复:编译错误,,大神帮我改一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034430 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved