| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1784 人关注过本帖
标题:根据前序和中序排列求后序的递归算法
只看楼主 加入收藏
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
结帖率:100%
收藏
 问题点数:0 回复次数:2 
根据前序和中序排列求后序的递归算法
#include<stdio.h>
#include <stdlib.h>
typedef struct BitNode
{
    char data;
    struct BitNode* lchild;
    struct BitNode* rchild;
}BitNode,*Bintree;

Bintree creatbitree(char *a,char *b,int m);   //创建二叉树
void preordertraverse(BitNode* t);      //前序遍历二叉树
void inorder(BitNode *t);
void postorder(BitNode *t);
int flag=0;

int main()
{
    BitNode *bt=NULL;
    char a[10]="abdgcefh", b[10]="dgbaechf";
    bt=creatbitree(a,b,8);
    printf("前序遍历结果:");
    preordertraverse(bt);
    printf("\n中序遍历结果:");
    inorder(bt);
    printf("\n后序遍历结果:");
    postorder(bt);
}

BitNode * creatbitree(char *a,char *b,int m)
{
    int i;
    BitNode *s;
    if(m==0)return NULL;
    s=(BitNode *)malloc(sizeof(BitNode));
    s->data=*a;   
    for(i=0;i<m;i++)
    {
        if(*a==b[i])break;
    }
    s->lchild=creatbitree(a+1,b,i);
    s->rchild=creatbitree(a+i+1,b+i+1,m-i-1);
//    printf("%c",s->data);
    return s;
}

void preordertraverse(Bintree bt)
{

    if(bt!=NULL)
    {
        printf("%c",bt->data);
        preordertraverse(bt->lchild);
        preordertraverse(bt->rchild);
    }
}

void inorder(BitNode *bt)
{
    if(bt!=NULL)
    {
        inorder(bt->lchild);
        printf("%c",bt->data);
        inorder(bt->rchild);
    }
}
void postorder(BitNode *bt)
{
    if(bt!=NULL)
    {
        postorder(bt->lchild);
        postorder(bt->rchild);
        printf("%c",bt->data);
    }
}
搜索更多相关主题的帖子: char data void NULL printf 
2018-04-25 22:11
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
这是答案?

剑栈风樯各苦辛,别时冰雪到时春
2018-05-03 00:13
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 2楼 林月儿
对的,没有问题。
2018-05-03 15:27
快速回复:根据前序和中序排列求后序的递归算法
数据加载中...
 
   



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

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