蚌埠奥园翰林华府评价:编写算法,按树状打印二叉树的算法

来源:百度文库 编辑:偶看新闻 时间: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语言编写