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);
     }
  • 相关阅读:
    12 python json&pickle&shelve模块
    11 python shutil 模块
    10 python os&sys 模块
    9 random模块
    8 python time$datetime
    7 python 模块间相互导入
    6 unit3-文件操作&函数 review
    3 Python 函数介绍
    hibernate课程 初探单表映射2-6 session详解(下)
    hibernate课程 初探单表映射2-5 session详解(上)
  • 原文地址:https://www.cnblogs.com/QQbai/p/2135259.html
Copyright © 2011-2022 走看看