首页 > 其他 > 详细

编程:按先序序列输出二叉树的叶子结点

时间:2019-08-28 14:41:46      阅读:95      评论:0      收藏:0      [点我收藏+]

源程序:

#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("请按以下两种序列输入二叉树的结点:\n");

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

  createbitree(t);

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

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

  system("pause");

}

 

运行结果:

技术分享图片

编程:按先序序列输出二叉树的叶子结点

原文:https://www.cnblogs.com/duanqibo/p/11423535.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!