zoukankan      html  css  js  c++  java
  • 创建二叉树

    #include<stdio.h >
    #include<malloc.h>
    #define OK 1
    #define ERROR 0
    typedef struct BiTNode{
    char data;
    struct BiTNode *lChild,*rChild;
    }BiTNode,*BiTree;
    //二叉树的初始化函数
    int Initiate(BiTree bt)//二叉树的头结点
       {  bt = (BiTree )malloc(sizeof(BiTNode));
             if(bt==NULL)  return 0;    
               bt->lChild=NULL;
             bt->rChild=NULL;
       return 1;
      }
    //创建二叉树
    int CreateBiTree(BiTree &t){
    // 按先序序列输入二叉树中结点的值(一个字符),#表示空树,
    // 构造二叉链表表示的二叉树T。
     BiTree T;
     char ch;
        scanf("%c",&ch);
     if(ch=='#') t=NULL; //       建空树
     else {  
      T=(BiTNode *)malloc(sizeof(BiTNode));
            if(T==NULL) return ERROR;
           T->data = ch; // 生成根结点
            t=T; 
           CreateBiTree(T->lChild); // 递归建(遍历)左子树
           CreateBiTree(T->rChild); // 递归建(遍历)右子树
     } // else
     return OK;
    } // CreateBiTree
    void PreOrder(BiTree T){
     // 采用二叉链表存储结构,visit是对元素操作的应用函数,// 先序遍历二叉树T的递归算法,对每个数据元素调用函数visit。// 最简单的visit函数是输出元素的值。
        if(T==NULL) return ;
     printf("%c",T->data);
     PreOrder(T->lChild);
     PreOrder(T->rChild);
    }
     void main()
     {BiTree bt;
      //Initiate(&bt);//引用
      CreateBiTree(bt);
      PreOrder(bt);
     }
  • 相关阅读:
    LeetCode0350.两个数组的交集 II
    LeetCode0055.跳跃游戏
    LeetCode0739.每日温度
    LeetCode面试题46.把数字翻译成字符串
    LeetCode0128.最长连续序列
    LeetCode面试题29.顺时针打印矩阵
    LeetCode0238.除自身以外数组的乘积
    2020软件工程最后一次作业
    如何防止XSS攻击
    需求规格说明书
  • 原文地址:https://www.cnblogs.com/QQbai/p/2135259.html
Copyright © 2011-2022 走看看