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");

    }

    运行结果:

  • 相关阅读:
    第八周上机作业
    第七次作业
    第七周上机
    第六周作业
    4.9上机作业
    第五周作业
    第四周作业
    第二次上机作业
    第三周作业
    第九周上机练习
  • 原文地址:https://www.cnblogs.com/duanqibo/p/11423535.html
Copyright © 2011-2022 走看看