📄 print.h
字号:
#include "conio.h"
#include "printq.h"
#include "tnode.h"
typedef struct
{
TNode *ptr;
int xindent,ylevel;
}PDataType;
void PrintTree(TNode *root,int screenwidth)
{
int level=1,offset=screenwidth/2;
PDataType p,c;
PQueue Q;
if(root==NULL)
return;
SetPQueue(&Q,50);
p.ptr=root;
p.xindent=offset;
p.ylevel=level;
PQInsert(&Q,p);
while(!PQEmpty(&Q))
{
p=PQDelete(&Q);
gotoxy(p.xindent,p.ylevel);
cout<<(p.ptr->data);
if(p.ylevel!=level)
{
level++;
offset=offset/2;
}
if(p.ptr->left!=NULL)
{
c.ptr=p.ptr->left;
c.ylevel=p.ylevel+1;
c.xindent=p.xindent-offset/2;
PQInsert(&Q,c);
}
if(p.ptr->right!=NULL)
{
c.ptr=p.ptr->right;
c.ylevel=p.ylevel+1;
c.xindent=p.xindent+offset/2;
PQInsert(&Q,c);
}
}
FreePQueue(&Q);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -