爱问知识人 爱问教育 医院库

c语言怎么构建二叉?

首页

c语言怎么构建二叉?

c语言怎么构建二叉树

提交回答

全部答案

    2018-04-16 07:11:36
  •   #include#includetypedef struct BiTreeNode{int data;struct BiTreeNode *lchild,*rchild; //左右孩子指针}BiTNode,*BiTree;int main(){BiTree CreateBiTree();void previsit(BiTree T);BiTree BT=CreateBiTree();puts("OK@!");previsit(BT); putchar('\n');return 0;}//BiTNode *lchilde ,*rchilde;BiTree CreateBiTree(){//按先后顺序输入儿茶书中的节点值,*字符表示空 输入时按层次遍历输入//构造二叉链表示的二叉树char ch;BiTree T;scanf("%c",&ch);if(ch=='*')T=NULL;else{T=(BiTNode*)malloc(sizeof(BiTNode));if(!T)return(0);T->data=ch; //生成根节点 T->lchild=CreateBiTree(); //构造左子树T->rchild=CreateBiTree(); //构造右子树}return T;} //CreatBiTreevoid previsit(BiTree T){//采用二叉树链表存储结构,visit 是对数据结构表元素操作的应用函数。
      if(T){printf("%c ",T->data);previsit(T->lchild);previsit(T->rchild);}}以上是简单构造和先序遍历。

    你***

    2018-04-16 07:11:36

  • 2018-04-16 04:11:36
  • C语言中二叉树的创建需要用到结构体来定义一个树的数据类型。树这个数据结构有一些数据域,和多个指针域。当然,对于二叉树而言,一般可以定义两个指针域,分别指向root节点的左右子节点。数据结构定义:
    struct tree{
    int data;       //这里数据域以此为例
    tree*right,*left;};
    真正构建二叉树可以使用动态内存申请,这是一种比较常见的方法(如果不会动态内存申请,可以先看看),但是这样做在子树很多时会耗费较多时间。
    因此可以事先开辟好一段内存空间用于存储树。比如 tree T[2000];如果需要建立新的子树,那么只需将数组中某个左右子节点赋值即可。

    史***

    2018-04-16 04:11:36

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):