标题:请各位变成高手给查查错
取消只看楼主
spoorty
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-6-27
结帖率:50%
已结贴  问题点数:20 回复次数:1 
请各位变成高手给查查错
#include <iostream>
using namespace std;
struct t
{
    char e;
    t *lc,*rc;
};
int whil=1;
void ct(t *root)
{
    char ee;
    cin>>ee;
    if(ee=='.') root=NULL;
    else
    {
        root=new t;
        root->e=ee;
        ct(root->lc);
        ct(root->rc);
    }
}
void dlr(t *root)
{
    if(root!=NULL)
    {
        cout<<root->e;
        dlr(root->lc);
        dlr(root->rc);
    }
    cout<<endl<<"先序遍历完成"<<endl;
}
void ldr(t *root)
{
    if(root!=NULL)
    {
        ldr(root->lc);
        cout<<root->e;
        ldr(root->rc);
    }
    cout<<endl<<"中序遍历完成"<<endl;
}
void lrd(t *root)
{
    if(root!=NULL)
    {
        lrd(root->lc);
        lrd(root->rc);
        cout<<root->e;
    }
    cout<<endl<<"后序遍历完成"<<endl;
}
void vt(t *root)
{
    if(root!=NULL)
    {
        if(root->rc==NULL&&root->rc==NULL) cout<<root->e;
        dlr(root->lc);
        dlr(root->rc);
    }
    cout<<endl<<"叶子节点输出完成"<<endl;
}                                                
int main()
{
    t tree;
    while(whil)
    {
        char a;
        cout<<"请选择操作:1 创建树 2 遍历树 3 叶子结点输出 4 结束程序"<<endl;
        cin>>a;
        switch(a)
        {
        case '1':ct(&tree);break;
        case '2':
            {
                dlr(&tree);
                ldr(&tree);
                lrd(&tree);
            };break;
        case '3':ct(&tree);break;
        case '4':whil=0;break;
        default:cout<<"无此选项"<<endl;
        }
        system("pause");
        system("cls");
    }
    return 0;
}
这段关于二叉树的代码,为什么无法遍历
搜索更多相关主题的帖子: void include 
2012-12-06 15:19
spoorty
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-6-27
得分:0 
自己没电脑,所以上线检查的晚了,谢谢版主回答!
2012-12-09 14:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-389893-1-1.html




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

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