⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 print.h

📁 算法设计的动态规划中的最优二叉搜索树问题
💻 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 + -