| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 633 人关注过本帖
标题:二叉树程序如何的退出输入?
只看楼主 加入收藏
henji
Rank: 1
等 级:新手上路
帖 子:227
专家分:0
注 册:2009-4-19
结帖率:38.67%
收藏
 问题点数:0 回复次数:3 
二叉树程序如何的退出输入?
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "malloc.h"
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;

typedef struct BiTNode
{
    int data;
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

Status CreateBiTree(BiTree &T)//创建二叉树
{  
        char ch;
    scanf("%c",&ch);
    if (ch=='#')
        T=NULL;
    else
    {
        if (!(T=(BiTNode*)malloc(sizeof(BiTNode)) ))
        exit (OVERFLOW);
        T->data=ch;
        CreateBiTree(T->lchild);
        CreateBiTree(T->rchild);
    }
    return OK;

}//CreateBiTree


Status PreOrderTraverse(BiTree &t)//先序遍历二叉树 ,例如实现先序的输入输出,我该如何输入结点的值然后在输出结点的值?
{
    if(t!=NULL)
    {
        printf("%c",t->data);
        PreOrderTraverse(t->lchild);
        PreOrderTraverse(t->rchild);
    }
    return OK;
}

Status InOrderTraverse(BiTree &t)
{
//中序遍历二叉树
if(t!=NULL)
{
InOrderTraverse(t->lchild);
printf("%c",t->data);
InOrderTraverse(t->rchild);
}
return OK;
}

Status PostOrderTraverse(BiTree &t){
//后序遍历二叉树
if(t!=NULL)
{
PostOrderTraverse(t->lchild);
PostOrderTraverse(t->rchild);
printf("%c",t->data);
}
return OK;
}


int main(int argc, char* argv[])
{
    BiTree T;
    CreateBiTree(T);
    printf("PreOrderTraverse:");
    PreOrderTraverse(T);
    printf("\n");

    printf("InOrderTraverse:");
    InOrderTraverse(T);
    printf("\n");

    printf("PostOrderTraverse:");
    PostOrderTraverse(T);
    printf("\n");
    return 0;
}
搜索更多相关主题的帖子: 二叉树 输入 
2010-05-05 15:00
aufish
Rank: 2
等 级:论坛游民
威 望:1
帖 子:59
专家分:94
注 册:2010-4-22
收藏
得分:0 
自己去借本数据结构书好好看!
2010-05-05 16:19
开心每一秒
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-05 16:24
aufish
Rank: 2
等 级:论坛游民
威 望:1
帖 子:59
专家分:94
注 册:2010-4-22
收藏
得分:0 
你的创建树以“#”表示空树, 如树   a
                                b     c
        你则输入ab##c##(再回车)
        这是先序输入
                          a
                       b     c
                    d
        则为:abd###c##
    还五明就体书吧!!!
   
2010-07-01 09:32
快速回复:二叉树程序如何的退出输入?
数据加载中...
 
   



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

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