zoukankan      html  css  js  c++  java
  • 编程:按先序序列输出二叉树的叶子结点

    源程序:

    #include <iostream>

    #include <stack>

    using namespace std;

    typedef struct bitreenode

    {

      char data;

      struct bitreenode *lchild, *rchild;

    }*Bitree;

    //创建二叉树

    void createbitree(Bitree &T)

    {

      char data;

      data = getchar();

      if (data == '#')

      {

        T = NULL;

      }

      else

      {

        T = new bitreenode;

        T->data = data;

        createbitree(T->lchild);

        createbitree(T->rchild);

      }

    }; 

    //按先序次序打印叶子结点

    void pre_leaf(Bitree T)//T 为根结点指针

    {

      if (T!= NULL)

      {

        if (T->lchild == NULL && T->rchild == NULL)

          printf("%c", T->data);

        pre_leaf(T->lchild);

        pre_leaf(T->rchild);

      }

    }

    ///////////////主函数///////////////

    void main()

    {

      Bitree t = NULL;

      printf("请按以下两种序列输入二叉树的结点: ");

      printf("AB#D##CE### 或 ABD##E##C#F## ");

      createbitree(t);

      printf("先序次序打印的叶子结点为:");

      pre_leaf(t);//按先序次序打印叶子结点

      system("pause");

    }

    运行结果:

  • 相关阅读:
    html+css学习
    mac安装软件系列
    Versions 出现 SVN Working Copy xxx locked
    linux安装gcc-c++
    linux常用命令
    linux挂载磁盘
    对jquery新增加的class绑定事件
    linux下安装php的mcrypt拓展
    Linux关闭selinux
    linux安装包资源库
  • 原文地址:https://www.cnblogs.com/duanqibo/p/11423535.html
Copyright © 2011-2022 走看看