蚌埠奥园翰林华府评价:编写算法,按树状打印二叉树的算法
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 23:12:41
2010-11-19 22:12
// 二叉树输出.cpp : 定义控制台应用程序的入口点。
//题目:假设以二链表存储的二叉树中,每个节点所含数据元素均为单字母,试编写算法,按树状打印二叉树的算法,例如左下二叉树为右下形状
#include "stdafx.h"
#include
#include
#include
//定义二叉树数据结构
typedef char TElemtype;
typedef struct BiTNode
{
TElemtype data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
//基本操作与函数的说明部分
//-------------------------------以先序遍历建树------------------------
void CreatBiTree(BiTree &T)
{
TElemtype p=' ';
printf("请输入:\n");
scanf("%c",&p);
getchar();
if(p==' ')
{
T=NULL;
}
else
{
T=(BiTree)malloc(sizeof(BiTNode));
T->data =p;
p=' ';
printf("已经输入\n");
T->lchild=NULL;
T->rchild=NULL;
CreatBiTree(T->lchild);
CreatBiTree(T->rchild);
return;
}
}
//--------------------------结束---------------------------------------
//-------------------先序遍历输出--------------------------------------
bool PreOrderTraverse(BiTree &T)
{
TElemtype p;
if(T==NULL)
{
printf(" ");
return false;
}
else
{
p=T->data ;
printf("%c",p);
PreOrderTraverse(T->lchild );
PreOrderTraverse(T->rchild );
}
return true;
}
//---------------结束---------------------------------------------------
//----------------竖向打印二叉树--------------------------------------
bool PrintTree(BiTree T,int nLayer)
{
if(T==NULL)return false;
PrintTree(T->rchild,nLayer+3);
for(int i=0;i{
printf(" ");
}
printf("%c\n",T->data );
PrintTree(T->lchild,nLayer+3 );
return true;
}
//---------------------结束----------------------------------
//-------------------主函数----------------------------------
void main()
{
BiTree T;
int nLayer=0;
CreatBiTree(T);
bool printtrue=PrintTree(T,nLayer);
getchar();
}
//------------结束-------------------------------------------------
假设以二叉链表存储的二叉数中,每个结点所含数据结构元素均为单字母,试编写算法,按树状打印二叉树的算
二叉树采用链接方法存储,编写一个计算一个二叉树的高度的算法
以二叉树表作存储结构,试编写求二叉树高度的算法?
平衡二叉树的各种算法实现
二叉树的层次遍历算法
用C语言编写算法,输入前序及中序,输出二叉树的后序
用pascal语言编写算法,输入前序及中序,输出二叉树的后序
求二叉树遍历算法C语言实现的
急急急!!!!二叉树遍历的算法怎么算呀
求java实现二叉树启遍历的算法
用C语言编写一个求二叉树叶子的算法
树状输出二叉树
求教由二叉树的前序遍历序列建立二叉树的非递归算法
平衡的二叉树中插入一个新的结点非递归算法
用VB开发二叉数的算法的提问
二叉树的已知后序中序求先序算法,请问大家怎么做啊?非常感谢!
写一个算法来计算给定二叉树的叶结点数
····线索二叉树的中序算法请高手详细讲解
森林转换为二叉树非递归算法
求用vc++编写:建立一棵二叉树,用某种遍历算法(先根,中根或后根)对二叉树进行遍历,输出某遍历
关于函数声明编写算法
编写圆的Bresenham算法或中点算法的实现程序
用数据结构编写顺序表,单链表,树,图,写出个自的算法
八皇后问题的遗传算法解法,c语言编写