1:采用二叉链表作为存储结构,完成二叉树的建立算法、二叉树的后序递归遍历算法和先序非递归遍历的算法。-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

1:采用二叉链表作为存储结构,完成二叉树的建立算法、二叉树的后序递归遍历算法和先序非递归遍历的算法。

2018-07-18 18:48:06 2602 2
急急急急急急急急急急急急急急急
取消 提交回答
全部回答(2)
  • 沉默术士
    2019-07-17 22:55:08
    用什么语言做。
    0 0
  • 小哇
    2019-07-17 22:55:08
    算法如下:
    #include "stdio.h"
    #include "malloc.h"
    #define ELEMTYPE char
    typedef struct BiTNode
    { ELEMTYPE data;
    struct BiTNode *lchild,*rchild;
    } BiTNode;
    BiTNode *bulid() /*建树*/
    { BiTNode *q;
    BiTNode *s[20];
    int i,j;
    char x;
    printf("请按顺序输入二叉树的结点以输入0和*号结束\n");
    printf("请输入你要输入的为第几个结点i=\n");
    scanf("%d",&i);
    printf("请输入你要输入该结点的数为x=");
    getchar();
    scanf("%c",&x);
    while(i!=0&&x!='*')
    {q=(BiTNode*)malloc(sizeof(BiTNode));
    q->data=x;
    q->rchild=NULL;
    q->lchild=NULL;
    s[i]=q;

    if(i!=1)
    { j=i/2;
    if(i%2==0)
    s[j]->lchild=q;
    else
    s[j]->rchild=q;
    }

    printf("请输入你要输入的为第几个结点x=\n");
    scanf("%d",&i);
    printf("请输入你要输入该结点的数x=");
    getchar();
    scanf("%c",&x);
    }
    return s[1];
    }
    void preoder(BiTNode *bt) /*先序遍历*/
    { if(bt!=NULL)
    {
    printf("%c\n",(bt->data));

    preoder(bt->lchild);

    preoder(bt->rchild);
    }
    }
    void InOrder(BiTNode *bt) /*中序遍历*/
    { if(bt!=NULL)
    { InOrder(bt->lchild);
    printf("%c\n",bt->data);
    InOrder(bt->rchild);
    }
    }
    void postOrder(BiTNode *bt) /*后序遍历*/
    { if(bt!=NULL)
    { postOrder(bt->lchild);
    postOrder(bt->rchild);
    printf("%c\n",bt->data);
    }
    }

    main()
    { int a;
    BiTNode *bt;
    bt=bulid();
    k1: printf("需要先序遍历输出请输入1,中序遍历请输入2,后序遍历请输入3,结束输入0:");
    scanf("%d",&a);
    switch(a)
    {
    case(1): preoder(bt); goto k1;
    case(2): InOrder(bt); goto k1;
    case(3): postOrder(bt); goto k1;
    case(0): break;
    }
    }
    0 0
添加回答
相关问答

1

回答

中国式SaaS技术架构客户端UI的不同适用应用技术是什么?

2021-12-11 11:49:42 156浏览量 回答数 1

1

回答

数据湖存储方案(JindoFS SDK + 对象存储)的成本是怎样的?

2021-12-09 19:21:15 400浏览量 回答数 1

1

回答

项目中用到了function编程,但有个类运行中始终报找不到方法异常,该如何解决呢?

2021-10-28 01:22:58 94浏览量 回答数 1

1

回答

在MySQL数据库中存储货币值的最佳数据类型?mysql

2020-05-13 14:48:25 388浏览量 回答数 1

2

回答

服务器被植入木马了。网站首页重复被篡改!

2019-01-06 10:49:06 567浏览量 回答数 2

2

回答

域名验证未通过,域名为chuwei10.top(该域名不存在注册商验证库中)

2018-09-18 11:45:09 1452浏览量 回答数 2

1

回答

以单链表为存储结构实现简单选择排序的算法

2018-07-18 16:24:20 4003浏览量 回答数 1

1

回答

对象存储 OSS源码编译jar包

2018-06-17 01:19:32 644浏览量 回答数 1

1

回答

新手求助新建的ECS无法从githubclone项目

2014-05-11 17:59:31 5768浏览量 回答数 1

5

回答

天津的站长们注意了,阿里之前承诺可以备案,购买后一直被拖着无法备案

2013-03-21 22:03:12 5679浏览量 回答数 5
+关注
10071
文章
2994
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载