zoukankan      html  css  js  c++  java
  • 二叉树之叶子节点个数

    二叉树中求叶子节点个数:
    当二叉树不为空,而且左子树和右字数 不为空时:
    #include 
    #include 
    typedef char ElemType;
    typedef struct BiTNode{
    ElemType data;
    struct BiTNode* Lchild;
    struct BiTNode* Rchild;
    }BiTNode,*BiTree;
    //构造二叉树
    void createbt(BiTree &T)
    {
        char ch;
        scanf("%c",&ch);
         if(ch=='#')
    		 T=NULL;
         else
    	 {
               T=(BiTree)malloc(sizeof(BiTNode));
               T->data=ch;
               createbt(T->Lchild);
               createbt(T->Rchild);
    	 }
    }
    //统计二叉树中叶子节点的个数
    void Numnode(BiTree T,int &num)
    {
       if(T)
       {
         if((!T->Lchild)&&(!T->Rchild))
           num++;
         Numnode(T->Lchild,num);
         Numnode(T->Rchild,num);
       }
    }
    int main()
    {
       int count=0;
        BiTree T;
        printf("create a tree such as ABC##DE#G##F###
    ");
        createbt(T);
        printf("统计二叉树中叶子节点的个数
    ");
        Numnode(T,count);
        printf("%d
    ",count);
    	return 0;
    }
    
  • 相关阅读:
    Qt 解析EXcel文件
    Qt PC 安卓 tcp传输文件
    Qt listwigwt item 加入自定义元素
    Qt 独立运行时伴随CMD命令窗口
    xml模块
    shelve模块
    json模块 pickle模块
    sys 模块
    os模块
    添加变量
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4236864.html
Copyright © 2011-2022 走看看