数据结构代码练习,关于2020年851
1. 二叉树的层次遍历
//数据结构
typedef struct BiTree{
Datatype data;
struct BiTree *left, *right;
/*
添加代码 完成哈夫曼编码
int layer, weight;
*/
}TreeNode,*Bitree;
void leverodertraversal(BiTree T)
{
if(T==NULL)
return ;
/*
添加代码 完成哈夫曼编码
int level=0;
int wpl=0;
*/
queue<TreeNode*> q;
q.push(T);
while(!q.empty())
{
int n=q.size();
/*
添加代码 完成哈夫曼编码
level++;
*/
for(int i=0;i<n;i++)
{
TreeNode *s=q.front();
/*
添加代码 完成哈夫曼编码
s.layer=level;
if(s->left==NULL&&s->right==NULL)
wpl=wpl+(level-1)*s.weight;
*/
cout<<s->data<<" ";
q.pop();
if(s->left) q.push(s->left);
if(s->right) q.push(s->right);
}
//cout<<"输出层数:"<<level;
}
}
标签:10,right,哈夫曼,23,int,BiTree,wpl,2023,NULL
From: https://www.cnblogs.com/barry-first/p/17783260.html