创建一棵树,并前序遍历打印每个节点所在的层数

原创 2018年04月17日 21:34:59
#include <iostream>
#include <stdio.h>
using namespace std;

typedef struct Biltreenode
{
	char data;
	struct Biltreenode *ltree, *rtree;
}Biltreenode, *Biltree;

void createtree(Biltree *T)
{
	char c;
    scanf("%c", &c);
	

	if(c == ' ')       //空格作为叶子节点
	{
		*T = NULL;
	}
	else
	{
		*T = (Biltreenode *)malloc(sizeof(Biltreenode));
		(*T)->data = c;
		createtree(&(*T)->ltree);
		createtree(&(*T)->rtree);
	}
}

void visit(int l, char c)
{
	printf("%c 在第 %d 层\n", c, l);
}

void preordervisit(Biltree T, int level)  //前序遍历方式
{
	if(T)
	{
		visit(level, T->data);
		preordervisit(T->ltree, level + 1);
		preordervisit(T->rtree, level + 1);
	}
}

int main()
{
	int level = 1;
	Biltree M;
	M = NULL;

	createtree(&M);
	preordervisit(M, level);

	system("pause");
	return 0;
}

创建树时,在每个叶子节点处多输入2个空格作为结束符。

例如:输入如图所示的树,则在程序中需要输入AB0D00CE000(0表示空格),回车,就得到如下图的结果

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/w113691/article/details/79981130

计算二叉树中值为data的结点所在的层数

定义二叉树的二叉链表,设其元素为整数。然后编写函数,计算二叉树中值为x结点所在的层数。...
  • TysonSir
  • TysonSir
  • 2017-05-25 15:54:24
  • 1237

二叉树之查找指定节点所在的层数

指定的节点用节点存储的数据来代表,采用递归的方法先判断当前节点是否是目标节点,若不是则依次查找左子树和右子树:放码子:#include#includeusing namespace std;typed...
  • shifuwawa
  • shifuwawa
  • 2009-10-10 12:11:00
  • 6637

求二叉树中某个字符所在的层数

#include #include #include using namespace std; typedef struct BiTNode {     char data;     st...
  • u010525281
  • u010525281
  • 2016-04-16 17:55:24
  • 1055

计蒜客 难题题库 141 非递归二叉树的前序遍历

68次  7.35%  1000ms  65536K 给定一个层数小于等于10的二叉树,输出对其前序遍历的节点名序列。 输入包括一行,为由空格分隔开的各节点,按照二叉树的分层遍历顺序给出,...
  • changshu1
  • changshu1
  • 2015-08-10 09:55:55
  • 376

非递归层次遍历方法实现二叉树中指定节点的层次数查找

数据结构教材中,提供了基于队列实现一个二叉树的非递归层次遍历算法。但对于一个任意二叉树,如果要查找其中任何一个节点所在的层次数,教科书中并没有给出基于层次遍历的非递归算法。鉴于层次遍历算法比较容易理解...
  • dofar
  • dofar
  • 2015-12-18 22:38:34
  • 569

计蒜客 难题题库 140 非递归二叉树的后序遍历

26次  15.3%  1000ms  65536K 给定一个层数小于等于10的二叉树,输出对其后序遍历的节点名序列。 输入包括一行,为由空格分隔开的各节点,按照二叉树的分层遍历顺序给出,...
  • changshu1
  • changshu1
  • 2015-08-10 09:54:46
  • 328

【数据结构】树

1、树的定义     树(Tree)是n个结点(元素的有限集合)。当n=0时,称这棵树为空树。 在非树T中: (1)有且只有一个特殊的结点称为树的根结点(root),根结点没有前驱结点。 (2)当n>...
  • Robin__Chou
  • Robin__Chou
  • 2015-12-24 19:22:05
  • 2317

计算指定节点*p所在的层数

计算二叉树指定结点*p所在的层数
  • u013592116
  • u013592116
  • 2017-06-19 11:26:40
  • 410

二叉树的建立和遍历算法 --->树

题目要求: 建议二叉树并输出每个字符所在的层数,如右图要求输出A在第一层,B,C在第二层,D,E在第三层。 #include #include typedef char ElemType; ty...
  • luobo140716
  • luobo140716
  • 2016-06-06 13:24:41
  • 281

c语言纵向打印出一棵树

  • 2011年10月22日 16:33
  • 4KB
  • 下载
收藏助手
不良信息举报
您举报文章:创建一棵树,并前序遍历打印每个节点所在的层数
举报原因:
原因补充:

(最多只允许输入30个字)