• 创建二叉树


    #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);
     }
  • 相关阅读:
    as3.0 网络通信
    flash显示html
    [javascript]对象
    hibernate
    远程服务
    [mysql]笔记1
    [笔记]深入剖析Tomcat-tomcat的默认连接器,servlet容器
    [java]关于访问权限
    [笔记]http权威指南(2)
    [笔记]http权威指南
  • 原文地址:https://www.cnblogs.com/QQbai/p/2135259.html
Copyright © 2020-2023  润新知