• 大小: 5.64KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-03-26
  • 语言: 其他
  • 标签: 其他  

资源简介


/*这是一个在字符环境中,用ASCII码打印二叉树形状的算法。 采用层次遍法。 算法拙劣,仅供初学者做练习,(本人也是初学者,自学数据结构,刚好学到这二叉树这一章,搞几个二叉的例题,却不知道其构造形状,想调用图形API做个美观点的,却有点偏离本章的学习目的,只好用字符打印, linux环境中打印的还可以,DOS屏幕如果不够宽您输出到文本,如果您有更好的算法一定不吝赐教。我的QQ:137241638 mail:hnflcp@139.com*/ void PBTNodePrint(PBTNode *pb[],int n,int h) { int l=-1, r=0, i,j,

资源截图

代码片段和文件信息

/*
这是一个在字符环境中,用ASCII码打印二叉树形状的算法。
在Linux控制台下写的例题,在DOS中稍有点乱。
采用层次遍法。
算法拙劣,仅供初学者做练习,(本人也是初学者,自学数据结构,刚好学到这二叉树这一章,
半路出家,基础差有点吃力头大,搞几个二叉的例题,却不知道其构造形状,
想调用图形API做个美观点的,却有点偏离本章的学习目的,只好用字符打印,
linux环境中打印的还可以,DOS中有点不稳定,如果您有更好的算法一定不吝赐教。
我的QQ:137241638 mail:hnflcp@139.com
*/
#include 
#include 
#define MaxSize 100

//Pstart是二叉树根结点在一行中的位置,一行最能打印124个字符,取其1/2。
//如果你的屏不够宽的话,可以输出文本文件里, aa.exe>>aa.txt
#define Pstart 62

typedef struct node //二叉树存储结构
{
int    key;
int    data;
struct node *lchild
*rchild;
}BTNode;
typedef struct pnode        //为打印二叉树建了一个结构。
{
int key;                   //关键字数据1
int data;                  //关键字数据2
struct pnode *lchild      //左孩子
         *rchlid      //右孩子
 *parent;      //父节点
int lrflag                //标记本节点是左孩子(等于0时),还是右孩子(等于1时)
space                 //存储本节点打印位置
level;                 //存储本节点所在层次。
}PBTNode;

/*建立二叉树。
用括号表示法表示二叉树字符串,创建二叉树。
*/
BTN

评论

共有 条评论