| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 601 人关注过本帖
标题:求改善,输出全部树分支的数据,高手帮帮忙!也帮忙增加些其他操作吧,新手 ...
只看楼主 加入收藏
hy247767221
Rank: 2
来 自:襄樊
等 级:论坛游民
帖 子:41
专家分:22
注 册:2011-7-27
结帖率:87.5%
收藏
 问题点数:0 回复次数:0 
求改善,输出全部树分支的数据,高手帮帮忙!也帮忙增加些其他操作吧,新手上路!!!
#include<stdio.h>
#include<stdlib.h>

#define MAX 100

typedef struct Tree
{
    char info;
    struct Tree *llink, *rlink;
}Tree;

Tree *creat_tree();
Tree *set_up(char str[]);
void print_node(Tree *ptr);
void print_tree(Tree *ptr);

int main()
{
    Tree *root;
    root = creat_tree();
    print_tree(root);
    putchar(10);
    return 0;
}

Tree *creat_tree()
{
    Tree *root;
    char str[MAX];
    printf("Input the sring: ");
    gets(str);
    root = set_up(str);
    return root;
}

int i = 0;
Tree *set_up(char str[])
{
    Tree *ptr;
    if(str[i] == '\0')
        return NULL;
    if(str[i] != '0')
    {
        ptr = (Tree *)malloc(sizeof(Tree));
        ptr->info = str[i];
        i ++;
        ptr->llink = set_up(str);
        i ++;
        ptr->rlink = set_up(str);
        i ++;
        return ptr;
    }
    else
        return NULL;
}

int count;
void print_node(Tree *ptr)
{
    if(ptr == NULL)
        return;
    printf("%d\t%u\t%c\t%u\t%u\n", ++ count, ptr, ptr->info, ptr->llink, ptr->rlink);
    if(ptr->llink != NULL)
        print_node(ptr->llink);
    if(ptr->rlink != NULL)
        print_node(ptr->rlink);
}

void print_tree(Tree *ptr)
{
    count = 0;
    if(ptr == NULL)
        return;
    printf("Structure of the binary tree: \n");
    printf("Number\tAddress\tInfo\tLlink\tRlink\n");
    print_node(ptr);
}
搜索更多相关主题的帖子: include return root 
2011-10-27 16:38
快速回复:求改善,输出全部树分支的数据,高手帮帮忙!也帮忙增加些其他操作吧, ...
数据加载中...
 
   



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

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